:root{color-scheme:light;--ink:#17191d;--muted:#6a737e;--line:#e1e5e9;--line-strong:#cbd2d9;--surface:#fff;--soft:#f5f7f8;--canvas:#eef1f3;--module-bg:#f3f5f6;--blue:#1266d6;--blue-soft:#eaf3ff;--green:#147a4b;--green-soft:#e8f6ef;--wechat-green:#147a4b;--wechat-green-hover:#10653e;--amber:#8d5908;--amber-soft:#fff3d9;--red:#b42318;--red-soft:#fff0ee;--shadow:0 18px 50px rgba(20,27,35,.09)}
*{box-sizing:border-box}[hidden]{display:none!important}html{background:var(--canvas);color:var(--ink)}body{min-width:320px;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",Arial,sans-serif;letter-spacing:0}button,input,select{font:inherit;letter-spacing:0}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}img{display:block;max-width:100%}
.mobile-body{background:var(--canvas)}.mobile-shell{position:relative;width:min(100%,560px);min-height:100vh;margin:0 auto;padding-bottom:76px;background:var(--surface);box-shadow:0 0 48px rgba(20,27,35,.1)}
.mobile-topbar{position:sticky;z-index:30;top:0;display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:9px 16px;border-bottom:1px solid rgba(225,229,233,.8);background:rgba(255,255,255,.94);backdrop-filter:blur(18px)}.mobile-brand{display:flex;align-items:center;gap:9px}.mobile-brand img,.admin-brand img{border-radius:8px}.mobile-brand strong{font-size:15px}.top-link{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border:0;border-radius:6px;background:transparent;color:#3d4650;font-size:13px;font-weight:650}.top-link[hidden]{display:none}.top-link:hover{background:var(--soft)}
.mobile-tabs{position:fixed;z-index:35;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(3,1fr);width:min(100%,560px);min-height:64px;margin:auto;padding:6px 12px calc(6px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:rgba(255,255,255,.96);backdrop-filter:blur(20px)}.mobile-tabs a{display:flex;align-items:center;justify-content:center;border-radius:6px;color:#7a838d;font-size:12px;font-weight:700}.mobile-tabs a.active{background:#eef4fb;color:var(--blue)}
.product-main{overflow:hidden}.product-overview{padding:34px 20px 28px;background:#fff}.overview-heading{display:flex;align-items:center;gap:15px}.overview-logo{flex:0 0 64px;border-radius:14px;box-shadow:0 10px 26px rgba(20,27,35,.13)}.section-kicker{display:block;margin-bottom:8px;color:var(--blue);font-size:11px;font-weight:760}.overview-heading h1{margin:0;font-size:36px;line-height:1.04}.overview-lead{margin:24px 0 0;color:#4d5761;font-size:15px;line-height:1.75}.overview-actions{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:22px}.overview-primary,.overview-secondary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px;border:1px solid transparent;border-radius:7px;font-size:13px;font-weight:720}.overview-primary{background:var(--blue);color:#fff}.overview-secondary{border-color:var(--line-strong);background:#fff;color:#35404b}.overview-modules{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:28px 0 0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--line)}.overview-modules>div{min-height:96px;padding:16px;background:#f7f8f9}.overview-modules dt{font-size:16px;font-weight:760}.overview-modules dd{margin:7px 0 0;color:var(--muted);font-size:11px;line-height:1.5}.guide-section,.feature-section,.latest-section{padding:64px 20px}.section-heading h2,.updates-hero h1{margin:0;font-size:32px;line-height:1.13}.guide-section{background:#101216;color:#fff}.section-heading{margin-bottom:26px}.section-heading>p{margin:12px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.guide-section .section-kicker{color:#86b8ff}.guide-section .section-heading>p{color:#aeb6c0}.guide-item{position:relative;margin-bottom:18px;padding:18px;border:1px solid #2b3037;border-radius:8px;background:#191c21}.guide-item:last-child{margin-bottom:0}.guide-number{position:absolute;z-index:2;top:14px;left:14px;color:#8b96a3;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.lottie-frame{width:100%;aspect-ratio:1.12/1;overflow:hidden;border-radius:6px;background:#111318}.lottie-frame svg{display:block;width:100%!important;height:100%!important}.guide-item h3{margin:18px 0 0;font-size:20px}.guide-item p{margin:8px 0 0;color:#aeb6c0;font-size:13px;line-height:1.65}
.feature-section{background:#f3f5f6}.feature-story{margin-bottom:18px;overflow:hidden;border:1px solid #dfe4e8;border-radius:8px;background:#fff}.feature-story:last-child{margin-bottom:0}.feature-story>div{padding:22px 20px 18px}.feature-story h3{margin:0;font-size:22px}.feature-story p{margin:10px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.feature-story img{width:100%;max-height:420px;object-fit:contain;background:#edf0f2}.latest-section{display:grid;gap:22px;background:#fff}.latest-section h2{margin:0;font-size:44px}.latest-section p{margin:13px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.inline-link{display:inline-flex;align-items:center;gap:6px;width:max-content;color:var(--blue);font-size:14px;font-weight:700}.inline-link span{font-size:21px}.mobile-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 20px 30px;border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:10px}.mobile-footer a{text-align:right}
.home-module{padding:34px 0;border-top:1px solid var(--line);background:var(--surface)}.home-module>.section-heading{margin:0 20px 22px}.home-module .section-heading h2,.action-module h2{margin:0;font-size:26px;line-height:1.15}.guide-section.home-module,.feature-section.home-module{padding-right:0;padding-left:0;background:var(--surface)}.guide-section{color:var(--ink)}.carousel{min-width:0}.carousel-track{display:flex;gap:12px;padding:0 20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-behavior:smooth;scroll-padding-left:20px;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel-track::-webkit-scrollbar{display:none}.carousel-slide{flex:0 0:calc(100% - 40px);min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:8px;background:var(--surface);scroll-snap-align:start;scroll-snap-stop:always}.guide-card{position:relative;border-color:var(--line);background:var(--surface)}.slide-number{position:absolute;z-index:2;top:14px;left:14px;color:#89939e;font:700 11px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.guide-media,.feature-media{width:100%;aspect-ratio:1.12/1;overflow:hidden;background:#e9edf0}.guide-media svg,.feature-media svg{display:block;width:100%!important;height:100%!important}.slide-copy{padding:19px}.slide-copy h3{margin:0;font-size:20px;line-height:1.25}.slide-copy p{margin:9px 0 0;color:var(--muted);font-size:13px;line-height:1.65}.guide-card .slide-copy h3{color:var(--ink)}.guide-card .slide-copy p{color:var(--muted)}.feature-media{display:grid;place-items:center;background:#e9edf0}.feature-media.static-media{aspect-ratio:1.12/1}.feature-media img{width:100%;height:100%;object-fit:contain}.carousel-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 20px 0}.carousel-dots{display:flex;align-items:center;gap:7px;min-height:36px}.carousel-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#c5ccd3;transition:width .2s ease,background .2s ease}.carousel-dots button.active{width:22px;border-radius:999px;background:var(--blue)}.dark-carousel .carousel-dots button{background:#c5ccd3}.dark-carousel .carousel-dots button.active{background:var(--blue)}.carousel-actions{display:flex;gap:8px}.carousel-actions button{display:grid;width:38px;height:38px;place-items:center;padding:0;border:1px solid var(--line-strong);border-radius:50%;background:var(--surface);color:var(--ink);font-size:26px;line-height:1}.dark-carousel .carousel-actions button{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}.carousel-actions button:disabled{cursor:default;opacity:.35}.action-module{display:grid;align-content:space-between;gap:25px;padding:34px 20px;background:var(--surface)}.action-module.member-module{background:var(--surface)}.module-copy{display:grid;gap:18px}.module-value{color:var(--blue);font-size:42px;line-height:1;font-weight:760}.module-link{display:flex;align-items:center;justify-content:space-between;min-height:52px;padding:0 15px;border:1px solid var(--line-strong);border-radius:7px;background:var(--surface);color:#33404c;font-size:13px;font-weight:740}.module-link strong{font-size:23px;font-weight:500}.module-link.primary-link,.module-link.download-link{border-color:var(--blue);background:var(--blue);color:#fff}.module-link.wechat-link{border-color:var(--wechat-green);background:var(--wechat-green);color:#fff}.module-link.download-link:hover,.module-link.download-link:focus-visible{border-color:#0d57bd;background:#0d57bd}.module-link.wechat-link:hover,.module-link.wechat-link:focus-visible{border-color:var(--wechat-green-hover);background:var(--wechat-green-hover)}
.updates-main,.member-main{min-height:calc(100vh - 122px);padding:0 16px 42px}.updates-hero{padding:46px 4px 34px}.updates-hero p{margin:15px 0 0;color:var(--muted);font-size:14px;line-height:1.65}.release-list{display:grid;gap:14px}.release-card{padding:20px;border:1px solid var(--line);border-radius:8px;background:#fff}.release-card.current{border-top:3px solid var(--blue)}.release-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.release-head span{color:var(--blue);font-size:10px;font-weight:760}.release-head h2{margin:5px 0 0;font-size:28px}.release-head time{color:var(--muted);font-size:12px}.release-head-actions{display:flex;flex:0 0 auto;align-items:flex-end;flex-direction:column;gap:10px}.release-history-download{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:0 14px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:800;line-height:1;text-decoration:none;box-shadow:0 8px 18px rgba(31,113,226,.16);transition:background .16s ease,transform .16s ease}.release-history-download:hover,.release-history-download:focus-visible{background:#1769d5;transform:translateY(-1px)}.release-history-download:focus-visible{outline:3px solid var(--blue-soft);outline-offset:2px}.release-card>p{margin:16px 0 0;color:#444d57;font-size:13px;line-height:1.65}.release-card ul{margin:16px 0 0;padding:14px 0 0 20px;border-top:1px solid #edf0f2;color:var(--muted);font-size:12px;line-height:1.8}
.loading{display:flex;align-items:center;justify-content:center;gap:11px;min-height:55vh;color:var(--muted);font-size:13px}.spinner{width:21px;height:21px;border:2px solid #d5dce3;border-top-color:var(--blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
.auth-layout{padding:34px 0}.auth-intro{padding:10px 4px 30px}.auth-intro h1{margin:0;font-size:36px;line-height:1.08}.auth-intro>p{margin:16px 0 0;color:var(--muted);font-size:14px;line-height:1.7}.trust-points{display:grid;gap:9px;margin-top:22px}.trust-points span{display:flex;align-items:center;gap:9px;color:#48515b;font-size:12px}.trust-points b{display:grid;width:24px;height:24px;place-items:center;border-radius:50%;background:var(--blue-soft);color:var(--blue);font-size:11px}.auth-card,.member-card,.history-section{border:1px solid var(--line);border-radius:8px;background:#fff}.auth-card{padding:18px;box-shadow:var(--shadow)}.tabs{display:grid;grid-template-columns:1fr 1fr;margin-bottom:20px;padding:3px;border-radius:6px;background:var(--soft)}.tabs button{min-height:38px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-weight:650}.tabs button.selected{background:#fff;color:var(--ink);box-shadow:0 2px 8px rgba(20,28,38,.08)}.auth-heading h2{margin:0;font-size:21px}.auth-heading p{margin:7px 0 18px;color:var(--muted);font-size:12px}
.stack,.form-grid,.proof-form{display:grid;gap:13px}.stack label,.form-grid label,.proof-form label,.keybar label{display:grid;gap:7px;min-width:0}.stack label>span,.form-grid label>span,.proof-form label>span,.keybar label>span,.channel legend{color:#4c5661;font-size:12px;font-weight:650}input,select{width:100%;min-height:44px;padding:9px 11px;border:1px solid var(--line-strong);border-radius:6px;outline:0;background:#fff;color:var(--ink)}input:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(18,102,214,.12)}.primary,.secondary,.success,.danger,.icon-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:0 16px;border:1px solid transparent;border-radius:7px;font-weight:680}.primary{background:var(--blue);color:#fff}.primary:disabled{cursor:not-allowed;opacity:.55}.secondary{border-color:var(--line-strong);background:#fff;color:#38424d}.success{background:var(--green);color:#fff}.danger{border-color:#edb9b3;background:var(--red-soft);color:var(--red)}
.notice{display:flex;align-items:center;min-height:44px;margin:12px 0;padding:10px 12px;border:1px solid;border-radius:7px;font-size:12px;font-weight:600}.notice.success{border-color:#b7dec9;background:var(--green-soft);color:var(--green)}.notice.error{border-color:#f0c1bb;background:var(--red-soft);color:var(--red)}
.status-band{display:flex;align-items:flex-start;gap:12px;margin:20px 0 14px;padding:18px 15px;border:1px solid var(--line);border-left:4px solid var(--amber);border-radius:8px;background:#fff}.status-band.active{border-left-color:var(--green)}.status-symbol{display:grid;flex:0 0 42px;width:42px;height:42px;place-items:center;border-radius:50%;background:var(--amber-soft);color:var(--amber);font-size:13px;font-weight:800}.active .status-symbol{background:var(--green-soft);color:var(--green)}.status-band h1{margin:0;font-size:22px}.status-band p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.55}.member-dashboard{display:grid;gap:12px}.member-card,.history-section{padding:17px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:15px}.panel-heading h2{margin:0;font-size:17px}.details{margin:0}.details>div{display:grid;grid-template-columns:88px minmax(0,1fr);align-items:center;min-height:43px;border-top:1px solid #edf0f2}.details dt{color:var(--muted);font-size:12px}.details dd{min-width:0;margin:0;overflow-wrap:anywhere;font-size:13px;font-weight:620}.chip{display:inline-flex;align-items:center;justify-content:center;min-width:60px;min-height:25px;padding:2px 8px;border-radius:999px;background:#edf0f3;color:#525e6b;font-size:10px;font-weight:740;white-space:nowrap}.chip.active,.chip.approved{background:var(--green-soft);color:var(--green)}.chip.pending{background:var(--amber-soft);color:var(--amber)}.chip.rejected{background:var(--red-soft);color:var(--red)}.footnote{margin:13px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.channel{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;border:0}.channel legend{width:100%;margin-bottom:2px}.channel label{display:block}.channel input{position:absolute;width:1px;height:1px;opacity:0}.channel span{display:inline-flex;align-items:center;justify-content:center;min-width:72px;min-height:36px;padding:0 10px;border:1px solid var(--line-strong);border-radius:6px;background:#fff;font-size:12px;font-weight:620}.channel input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue)}.file-help{color:var(--muted);font-size:10px}.history-list{display:grid}.history-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;padding:13px 0;border-top:1px solid #edf0f2}.history-row strong{font-size:13px}.history-row span.meta{display:block;margin-top:4px;color:var(--muted);font-size:11px}.history-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px}.empty{display:grid;min-height:90px;place-items:center;color:var(--muted);font-size:12px}
.admin-body{background:var(--canvas)}.admin-topbar{display:flex;align-items:center;justify-content:space-between;min-height:66px;padding:10px max(24px,calc((100vw - 1280px)/2));border-bottom:1px solid var(--line);background:#fff}.admin-brand{display:flex;align-items:center;gap:10px}.admin-brand span{display:grid}.admin-brand strong{font-size:15px}.admin-brand small{margin-top:3px;color:var(--muted);font-size:11px}.admin-main{width:min(1280px,calc(100% - 48px));min-height:calc(100vh - 128px);margin:0 auto;padding:36px 0 56px}.admin-heading{margin-bottom:16px}.admin-heading h1{margin:0;font-size:30px}.admin-heading p{margin:8px 0 0;color:var(--muted);font-size:13px}.keybar,.admin-panel,.admin-summary article{border:1px solid var(--line);border-radius:8px;background:#fff}.keybar{display:grid;grid-template-columns:repeat(2,minmax(0,280px)) minmax(0,1fr);align-items:end;gap:12px;padding:16px}.key-actions{display:flex;align-items:center;gap:8px}.key-actions button{min-width:104px}.admin-identity{color:var(--muted);font-size:11px}.admin-dashboard[hidden]{display:none}.admin-dashboard{display:grid;gap:16px}.admin-summary{display:grid;gap:16px}.admin-summary[hidden]{display:none}.admin-summary-heading{display:flex;align-items:end;justify-content:space-between;gap:18px}.admin-summary-heading h2{margin:4px 0 0;font-size:22px}.admin-summary-heading p{margin:0;color:var(--muted);font-size:11px}.summary-groups{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.summary-group{min-width:0;padding:18px;border:1px solid var(--line);border-radius:var(--radius-panel);background:var(--surface)}.summary-group-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:14px}.summary-group-heading>div{display:flex;align-items:center;gap:9px}.summary-group-heading h3{margin:0;font-size:14px}.summary-group-heading>span{color:var(--muted);font-size:10px;font-weight:700}.summary-group-mark{width:8px;height:8px;border-radius:50%;background:var(--blue)}.summary-group-membership .summary-group-mark{background:var(--green)}.summary-group-revenue .summary-group-mark{background:var(--amber)}.summary-group-refunds .summary-group-mark{background:var(--red)}.summary-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.admin-summary article{min-width:0;padding:16px;background:var(--soft)}.admin-summary article>span{display:block;color:var(--muted);font-size:11px}.admin-summary strong{display:block;margin-top:8px;overflow-wrap:anywhere;font-size:26px}.admin-tools{display:grid;grid-template-columns:minmax(280px,.34fr) minmax(0,.66fr);gap:16px}.admin-panel{min-width:0;padding:20px}.form-grid{grid-template-columns:1fr 1fr}.form-grid button{grid-column:1/-1}.code-warning{margin:12px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.code-panel pre{max-height:260px;margin:10px 0 0;padding:12px;overflow:auto;border:1px solid var(--line);border-radius:6px;background:#f7f9fb;font:12px/1.7 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap}.proof-list{display:grid;gap:12px}.proof-item{padding:14px;border:1px solid var(--line);border-radius:7px}.proof-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.proof-summary strong{display:block}.proof-summary span,.proof-summary time{color:var(--muted);font-size:11px}.proof-details{margin:10px 0}.proof-details>div{display:grid;grid-template-columns:72px minmax(0,1fr);gap:8px;padding:6px 0;border-top:1px solid #edf0f2;font-size:11px}.proof-details dt{color:var(--muted)}.proof-details dd{margin:0}.review-actions{display:flex;flex-wrap:wrap;gap:7px}.review-actions button{min-height:34px;padding:0 10px;font-size:11px}.icon-button{width:38px;padding:0;border-color:var(--line);background:#fff;font-size:20px}.table-wrap{overflow:auto}.users-panel table,.codes-panel table{width:100%;border-collapse:collapse;font-size:12px}.users-panel th,.users-panel td,.codes-panel th,.codes-panel td{padding:11px 10px;border-bottom:1px solid #e8ecef;text-align:left;white-space:nowrap}.users-panel th,.codes-panel th{color:var(--muted);font-size:10px;font-weight:700}.users-panel td:first-child,.codes-panel td:nth-child(4){white-space:normal}.code-hint{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-weight:700}.chip.unused{background:var(--green-soft);color:var(--green)}.chip.redeemed{background:var(--blue-soft);color:var(--blue)}.chip.revoked{background:var(--red-soft);color:var(--red)}.user-name{display:block;font-weight:700}.user-account{display:block;margin-top:3px;color:var(--muted);font-size:10px}.table-action{min-height:30px;padding:0 9px;font-size:10px}.empty-cell{height:90px;color:var(--muted);text-align:center!important}.admin-footer{display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:14px max(24px,calc((100vw - 1280px)/2));border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px}.modal{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:40px;background:rgba(10,14,20,.82)}.modal[hidden]{display:none}.modal img{max-width:min(900px,100%);max-height:88vh;border-radius:8px;background:#fff}.modal>button{position:absolute;top:20px;right:24px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#111;font-size:30px}
.carousel-slide{flex:0 0 calc(100% - 40px)}
@media(max-width:900px){.summary-groups{grid-template-columns:1fr}.admin-tools{grid-template-columns:1fr}.admin-main{width:calc(100% - 28px)}.keybar{grid-template-columns:1fr}.admin-topbar,.admin-footer{padding-right:14px;padding-left:14px}}
@media(max-width:420px){.product-overview{padding-right:16px;padding-left:16px}.overview-heading h1{font-size:33px}.overview-actions{grid-template-columns:1fr}.guide-section,.feature-section,.latest-section{padding-right:16px;padding-left:16px}.home-module.guide-section,.home-module.feature-section{padding-right:0;padding-left:0}.home-module>.section-heading{margin-right:16px;margin-left:16px}.carousel-track{padding-right:16px;padding-left:16px}.carousel-slide{flex-basis:calc(100% - 32px)}.carousel-footer{padding-right:16px;padding-left:16px}.action-module{padding-right:16px;padding-left:16px}.section-heading h2,.updates-hero h1{font-size:29px}.guide-item{padding:14px}.release-card{padding:17px}.auth-intro h1{font-size:32px}.history-row{grid-template-columns:1fr}.history-row .chip{justify-self:start}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}.carousel-dots button{transition:none}}

/* Responsive public layout and compact bottom navigation. */
.mobile-shell{min-height:100dvh;padding-bottom:calc(52px + env(safe-area-inset-bottom))}
.mobile-tabs{height:calc(52px + env(safe-area-inset-bottom));min-height:0;padding:4px 10px env(safe-area-inset-bottom);transform:translateZ(0)}
.mobile-tabs a{min-height:44px;font-size:11px}
.carousel-counter{display:flex;align-items:baseline;gap:7px;min-height:36px;color:#8a949e;font:700 12px/1 ui-monospace,SFMono-Regular,Menlo,monospace}
.carousel-counter strong{color:var(--ink);font-size:18px}.carousel-counter span{font-weight:600}
.feature-card{display:flex;flex-direction:column}.feature-copy{display:flex;min-height:0;justify-content:center;flex-direction:column}.feature-heading{display:grid;grid-template-columns:46px minmax(0,1fr);align-items:center;gap:12px}.feature-icon{width:46px;height:46px;border-radius:11px;object-fit:contain}.feature-position{display:block;color:#8a949e;font:700 10px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.feature-heading h3{margin:5px 0 0;font-size:19px;line-height:1.25}.feature-copy>p{margin-top:12px}
.module-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px}.module-actions .module-link{min-width:0}
.download-notice{margin:0 0 14px;padding:12px 14px;border:1px solid #f0d58d;border-radius:7px;background:#fff8df;color:#765b16;font-size:12px;line-height:1.6}.download-notice[hidden]{display:none}
.release-download{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;padding:18px 20px;border:1px solid var(--line);border-radius:8px;background:#fff}.release-download>div{display:grid}.release-download strong{font-size:18px}.release-download small{margin-top:6px;color:var(--muted);font-size:11px}.release-download .primary{flex:0 0 auto}
.release-preview-section{display:grid;gap:14px;margin:0 0 18px;padding:20px;border:1px solid #b9d2f7;border-radius:var(--radius-panel);background:#eef5ff}.release-preview-section-heading h2{margin:5px 0 0;font-size:24px}.release-preview-section-heading p{margin:8px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.release-card.preview{border-color:#9fc2f4;border-top:3px solid #7b4ce2;background:#fff}.release-card.preview .release-head span{color:#6a3dd4}.release-card.preview .release-head time{color:#6a3dd4;font-weight:700}
.release-preview-inline{display:grid;gap:10px;max-width:620px;margin-top:22px;padding:16px 18px;border:1px solid #b9d2f7;border-radius:18px;background:#eef5ff}.release-preview-inline>div{display:flex;align-items:center;justify-content:space-between;gap:12px}.release-preview-inline span{color:#6a3dd4;font-size:11px;font-weight:800}.release-preview-inline strong{font-size:16px}.release-preview-inline p{margin:0;color:#444d57;font-size:13px;line-height:1.65}.release-preview-inline a{justify-self:start;color:var(--blue);font-size:12px;font-weight:750;text-decoration:none}
.release-home-image,.release-detail-image{position:relative;overflow:hidden;margin:16px 0 0;border:1px solid var(--line);border-radius:18px;background:var(--soft);scrollbar-gutter:stable}.release-home-image.is-long,.release-detail-image.is-long{max-height:min(72vh,720px);overflow-y:auto;overscroll-behavior-y:contain;scroll-behavior:smooth;touch-action:pan-y;scrollbar-color:#91b7ef transparent;scrollbar-width:thin;cursor:ns-resize}.release-home-image.is-long:focus-visible,.release-detail-image.is-long:focus-visible{outline:3px solid rgba(33,105,220,.28);outline-offset:3px}.release-home-image img,.release-detail-image img{display:block;width:min(100%,520px);height:auto;max-height:none;margin:0 auto;object-fit:initial}.release-preview-inline .release-home-image{width:100%;margin-top:2px;border-radius:14px}.release-preview-inline .release-home-image.is-long{max-height:min(66vh,620px)}.release-preview-inline .release-home-image img{width:min(100%,460px);max-height:none}.release-detail-image{margin-top:18px;padding:8px}.release-detail-image img{border-radius:12px;background:var(--surface)}.release-image-scroll-hint{display:none;position:sticky;z-index:3;top:8px;width:max-content;max-width:calc(100% - 16px);margin:8px auto -42px;padding:8px 13px;border:1px solid rgba(33,105,220,.2);border-radius:999px;background:rgba(255,255,255,.92);box-shadow:0 6px 20px rgba(33,68,120,.12);color:var(--blue);font-size:11px;font-weight:760;line-height:1.2;backdrop-filter:blur(10px);opacity:1;visibility:visible;transition:opacity .16s ease,visibility .16s ease}.is-long>.release-image-scroll-hint{display:block}.is-long.is-scrolling>.release-image-scroll-hint{opacity:0;visibility:hidden;pointer-events:none}
.auto-pay-button{width:100%}.payment-modal{position:fixed;z-index:80;inset:0;display:grid;place-items:center;padding:20px;background:rgba(11,15,20,.72);backdrop-filter:blur(8px)}.payment-modal[hidden]{display:none}.payment-sheet{position:relative;width:min(360px,100%);padding:24px;border-radius:8px;background:var(--surface);box-shadow:0 24px 80px rgba(0,0,0,.28);text-align:center}.payment-sheet .section-kicker{text-align:left}.payment-sheet h2{margin:8px 0 18px;font-size:22px}.payment-close{position:absolute;top:12px;right:12px;display:grid;width:36px;height:36px;place-items:center;padding:0;border:0;border-radius:50%;background:var(--soft);color:var(--ink);font-size:26px;line-height:1}.payment-qr{display:grid;width:244px;max-width:100%;aspect-ratio:1;place-items:center;margin:0 auto;border:1px solid var(--line);border-radius:8px;background:#fff}.payment-qr img{display:block;width:100%;height:100%;padding:10px;object-fit:contain}.payment-sheet>p{margin:16px 0 0;color:var(--muted);font-size:12px;line-height:1.65}.payment-state{margin-top:14px;color:var(--blue);font-size:12px;font-weight:700}.payment-error{display:grid;width:48px;height:48px;place-items:center;border-radius:50%;background:var(--red-soft);color:var(--red);font-size:26px;font-weight:800}
.payment-launch-button{display:block;margin-top:14px;text-decoration:none}.payment-launch-button[hidden]{display:none}
.table-toolbar{display:grid;grid-template-columns:minmax(240px,1fr) minmax(180px,240px);gap:12px;margin:14px 0 16px;padding:14px;border:1px solid var(--line);border-radius:7px;background:#f7f9fb}.table-toolbar label{display:grid;gap:7px}.table-toolbar label>span{color:var(--muted);font-size:11px;font-weight:700}.table-result{display:flex;align-items:baseline;gap:5px;color:var(--muted);font-size:11px}.table-result strong{color:var(--ink);font-size:20px}.users-panel .table-wrap,.codes-panel .table-wrap{max-height:560px;border:1px solid var(--line);border-radius:7px}.users-panel thead th,.codes-panel thead th{position:sticky;z-index:2;top:0;background:#f3f6f8;box-shadow:inset 0 -1px 0 var(--line)}.users-panel tbody tr:hover,.codes-panel tbody tr:hover{background:#f8fbff}.users-panel td,.codes-panel td{vertical-align:middle}

@media(min-width:960px){
  .mobile-body{background:var(--canvas)}
  .mobile-shell{width:min(100%,1440px);padding-bottom:0;background:var(--canvas);box-shadow:none}
  .mobile-topbar{min-height:64px;padding-right:28px;padding-left:28px}
  .product-main{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:24px 28px 40px;overflow:visible}
  .home-module{min-width:0;height:auto;padding-top:32px;padding-bottom:32px;overflow:hidden;border:1px solid var(--line);border-radius:8px}
  .guide-section{padding-top:32px}
  .carousel-slide{flex-basis:calc(100% - 40px)}
  .guide-section .carousel-slide,.feature-section .carousel-slide{display:grid;height:540px;grid-template-rows:minmax(0,1fr) 150px}
  .guide-media,.feature-media,.feature-media.static-media{height:100%;aspect-ratio:auto}
  .guide-section .slide-copy,.feature-section .slide-copy{overflow:hidden}
  .action-module{align-content:space-between}
  .action-module.member-module{grid-template-rows:auto minmax(0,1fr) auto;align-content:stretch;background:var(--surface)}
  .member-module .wechat-member-intro{align-self:start}
  .product-main>.mobile-footer{grid-column:1/-1;margin:0 -28px -40px;border-top:1px solid var(--line);background:#fff}
  .mobile-tabs{display:none}
}

@media(max-width:560px){
  .module-actions{grid-template-columns:1fr}
  .table-toolbar{grid-template-columns:1fr}
  .release-download{align-items:stretch;flex-direction:column}.release-download .primary{width:100%}
}

:root[data-theme="dark"]{color-scheme:dark;--ink:#f2f4f7;--muted:#aab1ba;--line:#30343a;--line-strong:#41474f;--surface:#181b20;--soft:#22262c;--canvas:#0f1114;--module-bg:#20242a;--blue:#5b9cff;--blue-soft:#172a45;--green:#57c78c;--green-soft:#153326;--amber:#f0bd62;--amber-soft:#3a2b12;--red:#ff8177;--red-soft:#3a1f1e;--shadow:0 18px 50px rgba(0,0,0,.34)}
:root[data-theme="dark"] .mobile-shell{box-shadow:0 0 48px rgba(0,0,0,.32)}
:root[data-theme="dark"] .mobile-topbar{border-bottom-color:var(--line);background:rgba(24,27,32,.94)}
:root[data-theme="dark"] .mobile-tabs{border-top-color:var(--line);background:rgba(24,27,32,.96)}
:root[data-theme="dark"] .mobile-tabs a{color:#9299a2}:root[data-theme="dark"] .mobile-tabs a.active{background:#1b2d46;color:#78adff}
:root[data-theme="dark"] .top-link{color:#d5d9df}:root[data-theme="dark"] .top-link:hover{background:var(--soft)}
:root[data-theme="dark"] .product-overview,:root[data-theme="dark"] .latest-section,:root[data-theme="dark"] .mobile-footer,:root[data-theme="dark"] .admin-topbar,:root[data-theme="dark"] .admin-footer{background:var(--surface)}
:root[data-theme="dark"] .overview-lead,:root[data-theme="dark"] .release-card>p,:root[data-theme="dark"] .trust-points span,:root[data-theme="dark"] .stack label>span,:root[data-theme="dark"] .form-grid label>span,:root[data-theme="dark"] .proof-form label>span,:root[data-theme="dark"] .keybar label>span,:root[data-theme="dark"] .channel legend{color:var(--muted)}
:root[data-theme="dark"] .overview-secondary,:root[data-theme="dark"] .secondary,:root[data-theme="dark"] .module-link,:root[data-theme="dark"] .channel span,:root[data-theme="dark"] .icon-button{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
:root[data-theme="dark"] .overview-modules>div,:root[data-theme="dark"] .table-toolbar,:root[data-theme="dark"] .code-panel pre{background:var(--soft)}
:root[data-theme="dark"] .guide-section.home-module,:root[data-theme="dark"] .feature-section.home-module{background:var(--surface)}
:root[data-theme="dark"] .guide-card{border-color:#383e46;background:#171a1f}
:root[data-theme="dark"] .guide-media{background:#0c0e11}
:root[data-theme="dark"] .feature-media{background:#12151a}
:root[data-theme="dark"] .carousel-dots button,:root[data-theme="dark"] .dark-carousel .carousel-dots button{background:#59616b}
:root[data-theme="dark"] .carousel-dots button.active,:root[data-theme="dark"] .dark-carousel .carousel-dots button.active{background:var(--blue)}
:root[data-theme="dark"] .carousel-actions button,:root[data-theme="dark"] .dark-carousel .carousel-actions button{border-color:var(--line-strong);background:var(--surface);color:var(--ink)}
:root[data-theme="dark"] .action-module,:root[data-theme="dark"] .action-module.member-module{background:var(--surface)}
:root[data-theme="dark"] .module-link{color:var(--ink)}
:root[data-theme="dark"] .module-link.download-link{border-color:var(--blue);background:var(--blue);color:#fff}
:root[data-theme="dark"] .module-link.wechat-link{border-color:var(--wechat-green);background:var(--wechat-green);color:#fff}
:root[data-theme="dark"] .module-link.download-link:hover,:root[data-theme="dark"] .module-link.download-link:focus-visible{border-color:#4a8ded;background:#4a8ded}
:root[data-theme="dark"] .module-link.wechat-link:hover,:root[data-theme="dark"] .module-link.wechat-link:focus-visible{border-color:var(--wechat-green-hover);background:var(--wechat-green-hover)}
:root[data-theme="dark"] .release-card,:root[data-theme="dark"] .release-download,:root[data-theme="dark"] .auth-card,:root[data-theme="dark"] .member-card,:root[data-theme="dark"] .history-section,:root[data-theme="dark"] .status-band,:root[data-theme="dark"] .keybar,:root[data-theme="dark"] .admin-panel,:root[data-theme="dark"] .admin-summary article,:root[data-theme="dark"] .proof-item{border-color:var(--line);background:var(--surface)}
:root[data-theme="dark"] .release-preview-section,:root[data-theme="dark"] .release-preview-inline{border-color:#315a91;background:rgba(31,85,153,.18)}:root[data-theme="dark"] .release-card.preview{border-color:#315a91;background:var(--surface)}:root[data-theme="dark"] .release-preview-inline p{color:var(--muted)}
:root[data-theme="dark"] .release-home-image,:root[data-theme="dark"] .release-detail-image{border-color:var(--line);background:#0d1117}

@media(max-width:560px){
  .module-actions{grid-template-columns:1fr}
  .release-history-download{min-height:36px;padding:0 12px}
}
:root[data-theme="dark"] .release-image-scroll-hint{border-color:rgba(101,161,255,.32);background:rgba(20,27,36,.92);color:#8ab8ff}
:root[data-theme="dark"] .release-card>p,:root[data-theme="dark"] .status-band p,:root[data-theme="dark"] .auth-intro>p{color:var(--muted)}
:root[data-theme="dark"] .release-card ul,:root[data-theme="dark"] .details>div,:root[data-theme="dark"] .history-row,:root[data-theme="dark"] .proof-details>div{border-color:var(--line)}
:root[data-theme="dark"] .download-notice{border-color:#665526;background:#302812;color:#efd68f}
:root[data-theme="dark"] .tabs{background:var(--soft)}:root[data-theme="dark"] .tabs button.selected{background:#30353d;color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.22)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select{border-color:var(--line-strong);background:#12151a;color:var(--ink)}
:root[data-theme="dark"] input::placeholder{color:#767e88}
:root[data-theme="dark"] input:focus,:root[data-theme="dark"] select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(91,156,255,.18)}
:root[data-theme="dark"] .notice.success{border-color:#2e674a}:root[data-theme="dark"] .notice.error{border-color:#71413d}
:root[data-theme="dark"] .chip{background:#2a2f36;color:#c4c9d0}
:root[data-theme="dark"] .users-panel thead th,:root[data-theme="dark"] .codes-panel thead th{background:#232830}:root[data-theme="dark"] .users-panel th,:root[data-theme="dark"] .users-panel td,:root[data-theme="dark"] .codes-panel th,:root[data-theme="dark"] .codes-panel td{border-bottom-color:var(--line)}:root[data-theme="dark"] .users-panel tbody tr:hover,:root[data-theme="dark"] .codes-panel tbody tr:hover{background:#202630}
:root[data-theme="dark"] .admin-body{background:var(--canvas)}
:root[data-theme="dark"] .modal{background:rgba(0,0,0,.88)}:root[data-theme="dark"] .modal img,:root[data-theme="dark"] .modal>button{background:var(--surface);color:var(--ink)}
.top-actions{display:flex;align-items:center;gap:4px}.theme-toggle{display:grid;width:36px;height:36px;place-items:center;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--surface);color:var(--ink);font-size:17px;line-height:1}.theme-toggle:hover{background:var(--soft)}.theme-toggle:focus-visible{outline:3px solid var(--blue-soft);outline-offset:2px}
.admin-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.review-panel{grid-column:1/-1}.offline-code-box{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:17px;border:1px solid var(--line);border-radius:7px;background:#f7f9fb}.offline-code-box code{min-width:0;overflow-wrap:anywhere;color:var(--ink);font:700 18px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace;transition:color .18s ease,opacity .18s ease}.offline-code-meta{display:grid;justify-items:end;gap:4px}.offline-code-meta span{color:var(--muted);font-size:10px}.offline-code-meta strong{font:750 20px/1 ui-monospace,SFMono-Regular,Menlo,monospace}.offline-code-details{margin:12px 0}.offline-code-details>div{display:grid;grid-template-columns:74px minmax(0,1fr);gap:10px;padding:7px 0;border-top:1px solid var(--line);font-size:11px}.offline-code-details dt{color:var(--muted)}.offline-code-details dd{margin:0;text-align:right}.offline-code-actions{display:grid;grid-template-columns:1fr;gap:10px}.offline-code-actions button{min-height:58px!important;font-size:14px;font-weight:760}.offline-code-actions .is-copied{background:var(--green);color:#fff}.offline-code-box code.is-used{color:var(--muted);opacity:.48}.offline-code-panel.is-expired .offline-code-box{border-color:#e8c2be;background:var(--red-soft)}
.pricing-panel{display:grid;gap:18px}.pricing-panel .panel-heading{align-items:flex-start;margin:0}.pricing-panel .panel-heading p{margin:7px 0 0;color:var(--muted);font-size:12px;line-height:1.6}.pricing-form{display:grid;gap:14px}.pricing-group{padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--soft)}.pricing-group h3,.pricing-group h4{margin:0;color:var(--ink)}.pricing-group h3{font-size:14px}.pricing-group h4{font-size:12px}.pricing-group>p,.pricing-group-heading p{margin:6px 0 0;color:var(--muted);font-size:11px;line-height:1.55}.pricing-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:13px}.pricing-fields label{display:grid;gap:7px;min-width:0}.pricing-fields label>span{color:var(--muted);font-size:11px;font-weight:700}.pricing-fields input{min-width:0}.pricing-group-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.toggle-label{display:flex;align-items:center;gap:8px;min-height:36px;color:var(--ink);font-size:12px;font-weight:750;white-space:nowrap}.toggle-label input{width:18px;min-height:18px;padding:0}.pricing-subgroups{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:15px;padding-top:15px;border-top:1px solid var(--line)}.pricing-subgroups .pricing-fields{grid-template-columns:1fr;margin-top:10px}.pricing-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px}.pricing-meta{color:var(--muted);font-size:11px}.pricing-legacy{border-style:dashed}
:root[data-theme="dark"] .pricing-group{border-color:var(--line);background:var(--soft)}
@media(max-width:720px){.pricing-fields,.pricing-subgroups{grid-template-columns:1fr}.pricing-group-heading{display:grid}.pricing-subgroups .pricing-fields{grid-template-columns:1fr}}
.keybar.is-authenticated{grid-template-columns:1fr;padding:10px 16px}.keybar.is-authenticated>label,.keybar.is-authenticated button[type="submit"]{display:none}.keybar.is-authenticated .key-actions{justify-content:flex-end}.keybar.is-authenticated .admin-identity{order:-1;margin-right:auto;color:var(--ink);font-weight:650}
.table-action-stack{display:flex;align-items:center;gap:6px}.table-select{min-width:94px;min-height:30px;padding:0 24px 0 8px;border:1px solid var(--line);border-radius:6px;background:var(--surface);color:var(--ink);font-size:10px}
:root[data-theme="dark"] .summary-group{border-color:var(--line);background:var(--surface)}
:root[data-theme="dark"] .admin-summary .summary-grid article{border-color:var(--line);background:var(--soft)}
:root[data-theme="dark"] .offline-code-box{background:var(--soft)}:root[data-theme="dark"] .offline-code-panel.is-expired .offline-code-box{border-color:#71413d;background:var(--red-soft)}
@media(max-width:900px){.admin-tools{grid-template-columns:1fr}.review-panel{grid-column:auto}}
@media(max-width:560px){.admin-summary-heading{align-items:flex-start;flex-direction:column;gap:7px}.summary-group{padding:14px}.admin-summary .summary-grid article{padding:14px}.admin-summary strong{font-size:23px}.offline-code-box{grid-template-columns:1fr}.offline-code-meta{justify-items:start}.offline-code-actions{grid-template-columns:1fr}.offline-code-details dd{text-align:left}}

/* Minimal home overrides */
.mobile-topbar{border-bottom:0}
.product-main .home-module{border-top:0}
.product-main .carousel-slide{border-radius:18px}
.product-main .module-link{border-radius:14px}
@media(min-width:960px){.product-main .home-module{border-radius:18px}}

/* Single-card autoplay carousels */
.product-main .carousel-track{gap:40px;overflow-x:auto;pointer-events:auto;touch-action:pan-x pan-y;scroll-padding-inline:0;scroll-snap-type:x mandatory;cursor:grab}
.product-main .carousel-track:active{cursor:grabbing}
.product-main .carousel-track.is-dragging{scroll-snap-type:none;scroll-behavior:auto;user-select:none}
.product-main .carousel-slide{scroll-snap-align:center;scroll-snap-stop:normal}
.product-main .carousel-footer{display:none}
.product-main .home-module{border:0}
.mobile-footer,.mobile-tabs{border-top:0}
@media(max-width:420px){.product-main .carousel-track{gap:32px}}

/* Product introduction: animation and centered copy only */
.guide-section .guide-card{border:0;background:transparent}
.guide-section .guide-media{width:min(100%,520px);justify-self:center;background:transparent}
.guide-section .slide-number{display:none}
.guide-section .slide-copy{display:flex;align-items:center;justify-content:center;flex-direction:column;background:transparent;text-align:center}
.guide-section .slide-copy h3{color:var(--blue);font-size:24px}
.guide-section .slide-copy p{color:var(--blue);font-size:15px}
.guide-section .slide-copy{padding-top:30px;padding-bottom:20px}
.guide-section .guide-purple .slide-copy h3{color:#7053d6}
.guide-section .guide-purple .slide-copy p{color:#806bc5}
.guide-section .guide-green .slide-copy h3{color:#347f48}
.guide-section .guide-green .slide-copy p{color:#568d60}
.guide-section .guide-blue .slide-copy h3{color:#287fbd}
.guide-section .guide-blue .slide-copy p{color:#558cb2}
.guide-section .guide-custom .slide-copy h3,
.guide-section .guide-custom .slide-copy p{
  background:linear-gradient(90deg,#7455df 0%,#258fd7 36%,#2da66b 68%,#dc4f91 100%);
  background-clip:text;
  color:#7455df;
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}
:root[data-theme="dark"] .guide-section .guide-purple .slide-copy h3{color:#aa98ff}
:root[data-theme="dark"] .guide-section .guide-purple .slide-copy p{color:#b9acf0}
:root[data-theme="dark"] .guide-section .guide-green .slide-copy h3{color:#63ce87}
:root[data-theme="dark"] .guide-section .guide-green .slide-copy p{color:#86d5a0}
:root[data-theme="dark"] .guide-section .guide-blue .slide-copy h3{color:#65b8ef}
:root[data-theme="dark"] .guide-section .guide-blue .slide-copy p{color:#8dc7e8}
:root[data-theme="dark"] .guide-section .guide-custom .slide-copy h3,
:root[data-theme="dark"] .guide-section .guide-custom .slide-copy p{
  background-image:linear-gradient(90deg,#a895ff 0%,#63bcff 36%,#65d995 68%,#ff84c0 100%);
}

/* Unified large-radius design */
:root{--radius-control:999px;--radius-panel:22px}
button,.primary,.secondary,.success,.danger,.icon-button,.module-link,.overview-primary,.overview-secondary,.top-link,.payment-launch-button,.channel span{border-radius:var(--radius-control)!important}
.home-module,.release-card,.release-download,.auth-card,.member-card,.history-section,.status-band,.keybar,.admin-panel,.admin-summary article,.proof-item,.table-toolbar,.table-wrap,.offline-code-box,.payment-sheet,.payment-qr,.code-panel,.notice,.download-notice{border-radius:var(--radius-panel)}
.product-main .home-module,.product-main .carousel-slide{border-radius:var(--radius-panel)}
.product-main .module-link,.mobile-tabs a{border-radius:var(--radius-control)}
.tabs,.tabs button.selected{border-radius:999px}

/* Admin spacing and touch targets */
.admin-body{--admin-gap:16px;--admin-panel-padding:20px}
.admin-dashboard,.admin-summary,.admin-tools,.proof-list{gap:var(--admin-gap)}
.keybar.is-authenticated{margin-bottom:var(--admin-gap)}
.keybar,.admin-panel,.admin-summary article{padding:var(--admin-panel-padding)}
.admin-body button,.admin-body .top-link{min-height:48px;padding-right:20px;padding-left:20px}
.admin-body input,.admin-body select{min-height:48px}
.admin-body .theme-toggle,.admin-body .icon-button{width:48px;height:48px;padding:0}
.admin-topbar{min-height:76px}
@media(max-width:560px){.admin-body{--admin-panel-padding:16px}.admin-main{padding-top:24px}.admin-body button,.admin-body .top-link{min-height:48px}}

/* Home update and membership summaries */
.action-module{grid-template-rows:auto minmax(0,1fr) auto}
.module-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px}
.module-chip{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:0 13px;border-radius:999px;background:var(--blue-soft);color:var(--blue);font-size:11px;font-weight:750;white-space:nowrap}
.module-chip.neutral{background:var(--soft);color:var(--muted)}
.module-chip.active{background:var(--green-soft);color:var(--green)}
.update-overview{align-self:start;max-width:620px;padding-top:34px}
.module-meta{display:flex;flex-wrap:wrap;gap:8px 16px;color:var(--muted);font-size:12px;font-weight:650}
.update-overview h3{max-width:560px;margin:18px 0 0;font-size:24px;line-height:1.35}
.update-overview ul{display:grid;gap:12px;margin:24px 0 0;padding:0;list-style:none}
.update-overview li{position:relative;padding-left:18px;color:var(--muted);font-size:14px;line-height:1.55}
.update-overview li::before{position:absolute;top:.62em;left:0;width:6px;height:6px;border-radius:50%;background:var(--blue);content:""}
.update-overview li.latest-notes-more{padding-left:0;color:var(--blue);font-weight:740;letter-spacing:.02em}
.update-overview li.latest-notes-more::before{display:none}
.update-overview li.latest-notes-more a{display:inline-flex;min-height:42px;align-items:center;padding:0 14px;border:1px solid color-mix(in srgb,var(--blue) 22%,var(--line));border-radius:999px;background:color-mix(in srgb,var(--blue) 7%,var(--surface));color:var(--blue);font-weight:780;text-decoration:none}
.update-overview li.latest-notes-more a:hover{border-color:color-mix(in srgb,var(--blue) 42%,var(--line));background:color-mix(in srgb,var(--blue) 12%,var(--surface))}
.wechat-password-guide{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:68px;margin-top:24px;padding:10px 16px 10px 11px;border:1px solid color-mix(in srgb,var(--green) 38%,var(--line));border-radius:999px;background:var(--green-soft);color:var(--ink)}
.wechat-password-icon{display:grid;width:44px;height:44px;place-items:center;border-radius:50%;background:var(--green);color:#fff;font-size:11px;font-weight:800}
.wechat-password-copy{display:grid;min-width:0;gap:4px}
.wechat-password-copy strong{font-size:14px;line-height:1.3}
.wechat-password-copy small{overflow:hidden;color:var(--muted);font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}
.wechat-password-action{color:var(--green);font-size:12px;font-weight:760;white-space:nowrap}
.wechat-password-guide:hover{border-color:var(--green)}
.home-member,.wechat-member-intro{align-self:start;padding-top:34px}
.home-member-head,.wechat-member-head{display:grid;grid-template-columns:64px minmax(0,1fr);align-items:center;gap:16px}
.home-member-head>div:last-child,.wechat-member-head>div:last-child{min-width:0}
.home-member-head strong,.home-member-head span,.wechat-member-head strong,.wechat-member-head span{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-member-head strong,.wechat-member-head strong{font-size:22px;line-height:1.3}
.home-member-head span,.wechat-member-head span{margin-top:6px;color:var(--muted);font-size:12px}
.member-avatar{display:grid;width:64px;height:64px;place-items:center;overflow:hidden;border-radius:50%;background:var(--blue);color:#fff;font-size:24px;font-weight:800}
.member-avatar img{display:block;width:100%;height:100%;object-fit:cover}
.member-avatar.default-avatar-shell{border-radius:18px;background:transparent}
.member-avatar img.default-avatar{object-fit:contain}
.home-member-details{display:grid;grid-template-columns:1fr 1fr;gap:22px 28px;margin:34px 0 0}
.home-member-details div{min-width:0}
.home-member-details dt{color:var(--muted);font-size:11px;font-weight:650}
.home-member-details dd{margin:7px 0 0;overflow-wrap:anywhere;color:var(--ink);font-size:14px;font-weight:720}
.member-module .wechat-member-intro{align-self:center;width:100%}
.wechat-member-head strong,.wechat-member-head span{overflow:visible;text-overflow:clip;white-space:normal}
.wechat-member-points{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.wechat-member-points span{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:0 15px;border-radius:999px;background:var(--soft);color:var(--muted);font-size:12px;font-weight:720}

/* Editable member profile */
.profile-summary{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:center;gap:16px;margin-bottom:18px}
.member-avatar.large{width:72px;height:72px;font-size:28px}
.profile-summary h2{margin:5px 0 0;font-size:22px}
.profile-summary p{margin:5px 0 0;color:var(--muted);font-size:12px}
.profile-form{margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}
.profile-card code{font:700 12px/1.4 ui-monospace,SFMono-Regular,Menlo,monospace}

/* Centered public-site footer */
.home-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-content:stretch;
  justify-items:center;
  gap:8px;
  padding:34px 20px 38px;
  border:0;
  background:var(--canvas);
  color:var(--muted);
  text-align:center;
}
.home-footer>span{color:var(--ink);font-size:17px;font-weight:760;line-height:1.4}
.visitor-total{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:var(--muted);font-size:12px;line-height:1.4}
.visitor-total strong{color:inherit;font:inherit;font-weight:760}
.visitor-eye-icon{display:block;width:16px;height:16px;flex:0 0 16px}
.home-footer a{font-size:11px;line-height:1.5;text-align:center}
.footer-legal-links{display:flex;align-items:center;justify-content:center}
.home-footer .footer-legal-links a{color:var(--ink);font-size:12px;font-weight:720}
.home-footer a:hover{color:var(--blue)}
.filing-links{display:grid;justify-items:center;gap:6px}
.mobile-body .mobile-shell{padding-bottom:0}

/* Four clearly separated modules on phones */
@media(max-width:959px){
  .mobile-body .mobile-shell{background:var(--canvas)}
  .product-main{display:grid;gap:12px;padding:12px;background:var(--canvas)}
  .product-main .home-module{overflow:hidden;background:var(--surface)}
  .product-main .home-footer{margin:0 -12px -12px;background:var(--canvas)}
}

/* Admin uses the same quiet footer as the public home page */
.admin-site-footer{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  justify-items:center;
  gap:8px;
  width:min(1280px,calc(100% - 48px));
  margin:0 auto;
  padding:0 20px 38px;
  color:var(--muted);
  text-align:center;
}
.admin-site-footer>span{color:var(--ink);font-size:17px;font-weight:760;line-height:1.4}
.admin-site-footer a{font-size:11px;line-height:1.5}
.admin-site-footer a:hover{color:var(--blue)}

@media(max-width:560px){
  .admin-site-footer{width:calc(100% - 28px)}
  .update-overview,.home-member,.wechat-member-intro{padding-top:24px}
  .update-overview h3{font-size:20px}
  .update-overview ul{gap:9px;margin-top:18px}
  .update-overview li{font-size:13px}
  .wechat-password-guide{grid-template-columns:42px minmax(0,1fr);min-height:66px;margin-top:20px;padding-right:13px}
  .wechat-password-icon{width:42px;height:42px}
  .wechat-password-action{display:none}
  .wechat-password-copy small{white-space:normal}
  .home-member-details{grid-template-columns:1fr;gap:16px;margin-top:22px}
  .wechat-member-head{grid-template-columns:58px minmax(0,1fr);gap:14px}
  .wechat-member-head .member-avatar{width:58px;height:58px;border-radius:16px}
  .wechat-member-head strong{font-size:19px}
  .wechat-member-points{gap:8px;margin-top:22px}
  .wechat-member-points span{min-height:32px;padding:0 13px;font-size:11px}
}

/* Neon product capsule */
@property --ring-angle{
  syntax:"<angle>";
  inherits:false;
  initial-value:220deg;
}
@keyframes neon-ring-spin{
  to{--ring-angle:580deg}
}
.home-title{
  grid-column:1/-1;
  position:relative;
  isolation:isolate;
  justify-self:center;
  width:max-content;
  max-width:calc(100% - 32px);
  margin:12px 0 8px;
  padding:15px 38px;
  border:0;
  border-radius:999px;
  background:#000;
  box-shadow:0 8px 24px rgba(0,0,0,.18);
  color:#fff;
  font-size:36px;
  font-weight:800;
  line-height:1.1;
  text-shadow:0 1px 4px rgba(0,0,0,.95);
  text-align:center;
}
.home-title::before{
  --ring-angle:220deg;
  position:absolute;
  z-index:0;
  inset:2px;
  border-radius:inherit;
  background:conic-gradient(
    from var(--ring-angle),
    #00d9ff,
    #1478ff,
    #8b5cff,
    #ff3f9a,
    #ffb21c,
    #00e6a7,
    #00d9ff
  );
  animation:neon-ring-spin 3.6s linear infinite;
  box-shadow:inset 0 0 4px rgba(255,255,255,.72);
  content:"";
  pointer-events:none;
}
.home-title::after{
  position:absolute;
  z-index:1;
  inset:8px;
  border-radius:inherit;
  background:#000;
  box-shadow:0 0 7px rgba(255,255,255,.16);
  content:"";
  pointer-events:none;
}
.home-title span{
  position:relative;
  z-index:2;
}
@media(max-width:959px){
  .home-title{margin:14px 0 10px;padding:13px 30px;font-size:30px}
}

/* Keep both activation-code modules the same full-row width. */
.admin-tools>.code-panel{grid-column:1/-1}

/* Online activation-code duration selector. */
.duration-selector{grid-column:1/-1;margin:0;padding:0;border:0}
.duration-selector legend{margin-bottom:7px;color:#4c5661;font-size:12px;font-weight:650}
.duration-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.form-grid .duration-options label{display:block}
.duration-options input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.duration-options span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 16px;border:1px solid var(--line-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;transition:border-color .16s ease,background .16s ease,color .16s ease,box-shadow .16s ease}
.duration-options input:checked+span{border-color:var(--blue);background:var(--blue-soft);color:var(--blue);box-shadow:0 0 0 1px var(--blue)}
.duration-options input:focus-visible+span{outline:3px solid rgba(18,102,214,.2);outline-offset:2px}
:root[data-theme="dark"] .duration-selector legend{color:var(--muted)}
@media(max-width:560px){.duration-options{gap:7px}.duration-options span{padding:0 10px}}

/* Unified standalone pages */
.updates-main{
  width:min(960px,calc(100% - 32px));
  min-height:auto;
  margin:0 auto;
  padding:28px 0 44px;
}
.member-main{
  width:min(720px,calc(100% - 32px));
  min-height:calc(100dvh - 150px);
  margin:0 auto;
  padding:28px 0 44px;
}
.wechat-member-page{display:grid;align-items:center}
.wechat-launch-card{display:grid;justify-items:center;gap:18px;padding:32px;text-align:center}
.wechat-launch-card>img{width:82px;height:82px;border-radius:22px}
.wechat-launch-card .section-kicker{margin:2px 0 -8px}
.wechat-launch-card h1{margin:0;font-size:30px;line-height:1.2}
.wechat-launch-card>p{max-width:480px;margin:0;color:var(--muted);font-size:14px;line-height:1.7}
.wechat-launch-card .wechat-member-facts{width:100%;margin:4px 0;text-align:left}
.wechat-launch-card .module-link{width:100%}
.updates-hero{padding:20px 4px 28px}
.release-list,.member-dashboard{gap:12px}
.page-footer{
  width:100%;
  margin:0;
  background:var(--canvas);
}
.member-session-logout-source{display:none!important}
.status-copy{min-width:0;flex:1}
.member-logout{flex:0 0 auto;min-height:44px;padding:0 18px}

@media(max-width:560px){
  .updates-main,.member-main{width:calc(100% - 24px);padding:12px 0 32px}
  .updates-hero{padding:18px 4px 24px}
  .status-band{align-items:center}
  .member-logout{min-height:42px;padding:0 15px}
}

/* Feature carousel: one centered card per viewport, without adjacent previews. */
.product-main .feature-section .carousel-track{
  gap:40px;
}
.product-main .feature-section .carousel-slide{
  flex-basis:100%;
}
.product-main .guide-section .carousel-slide{
  flex-basis:100%;
}
@media(max-width:420px){
  .product-main .feature-section .carousel-track{
    gap:32px;
  }
  .product-main .guide-section .carousel-slide{
    flex-basis:100%;
  }
}
/* Complete member-system modules */
.data-table{width:100%;border-collapse:collapse;font-size:12px}
.data-table th,.data-table td{padding:11px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;white-space:nowrap}
.data-table th{color:var(--muted);font-size:10px}
.data-table .detail-cell{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.table-toolbar{display:flex;align-items:end;justify-content:flex-start;gap:12px;margin-bottom:14px;padding:12px;background:var(--soft)}
.table-toolbar>button{margin-left:auto}
.table-toolbar label{display:grid;gap:6px;min-width:220px}.table-toolbar label>span{color:var(--muted);font-size:11px;font-weight:650}
.table-result{display:flex;align-items:baseline;gap:5px}.table-result strong{font-size:22px}.table-result span{color:var(--muted);font-size:10px}
.detail-modal{align-items:start;overflow:auto;padding:28px}
.detail-sheet{width:min(1080px,100%);max-height:none;padding:22px;border-radius:var(--radius-panel);background:var(--surface);box-shadow:var(--shadow)}
.detail-content{display:grid;gap:14px}.detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.detail-block{min-width:0;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}
.detail-block h3{margin:0 0 12px;font-size:15px}.detail-block .panel-heading{margin-bottom:10px}
.timeline-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:10px 0;border-top:1px solid var(--line)}
.timeline-row strong{min-width:0;font-size:12px;overflow-wrap:anywhere}.timeline-row time{color:var(--muted);font-size:10px}
.timeline-row p{grid-column:1/-1;margin:0;color:var(--muted);font-size:11px;line-height:1.55;overflow-wrap:anywhere}
.empty.compact{min-height:58px}
.consent-check{display:grid!important;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px!important}
.consent-check input{width:18px;min-height:18px;height:18px;margin-top:1px}.consent-check span{line-height:1.55}
.security-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.offer-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.offer-button{display:grid!important;align-content:center;justify-items:center;min-height:82px!important;padding:12px!important}.offer-button span{font-size:12px}.offer-button strong{margin-top:4px;font-size:18px}.offer-button small{margin-top:4px;color:var(--muted);font-size:9px}
.auth-card .tabs{grid-template-columns:repeat(3,minmax(0,1fr))}
.security-summary{display:grid;gap:8px;margin-bottom:15px}.security-summary>div{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0;border-top:1px solid var(--line);font-size:12px}.security-summary span{color:var(--muted)}
.inline-form{margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}
.inline-form[hidden]{display:none}
.member-history{display:grid;gap:0}.member-history .timeline-row:first-child{border-top:0}
.legal-link{margin:0 3px;color:var(--blue);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.legal-page{width:min(760px,calc(100% - 24px));min-height:100dvh;margin:0 auto;padding:28px 0 48px}.legal-page>.inline-link{margin:0 4px 18px}.legal-card{margin-top:18px;padding:28px}.legal-card h1{margin:0;font-size:30px}.legal-card h2{margin:28px 0 10px;font-size:17px}.legal-card p,.legal-card li{color:var(--muted);font-size:13px;line-height:1.8}.legal-card ul{padding-left:20px}.legal-updated{margin-top:8px!important;font-size:11px!important}
:root[data-theme="dark"] .detail-sheet,:root[data-theme="dark"] .detail-block{background:var(--surface)}
@media(max-width:760px){.detail-grid{grid-template-columns:1fr}.detail-modal{padding:10px}.detail-sheet{padding:15px}.table-toolbar{align-items:stretch;flex-direction:column}.table-toolbar label{min-width:0}.security-actions{grid-template-columns:1fr}.offer-grid{grid-template-columns:1fr}}

/* Siri AI is the first regular feature slide; preserve the original card size. */
.feature-media.video-media{display:flex;align-items:center;justify-content:center;background:#000}
.feature-media.video-media .feature-video-source{
  position:absolute;
  z-index:0;
  inset:0;
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
  object-position:center bottom;
  opacity:.001!important;
  pointer-events:none;
  transform:translateZ(0);
  -webkit-appearance:none;
}
.feature-video-source::-webkit-media-controls,
.feature-video-source::-webkit-media-controls-enclosure,
.feature-video-source::-webkit-media-controls-panel,
.feature-video-source::-webkit-media-controls-play-button,
.feature-video-source::-webkit-media-controls-timeline,
.feature-video-source::-webkit-media-controls-current-time-display,
.feature-video-source::-webkit-media-controls-time-remaining-display,
.feature-video-source::-webkit-media-controls-fullscreen-button{display:none!important;opacity:0!important}
.feature-video-canvas{position:absolute;z-index:1;inset:0;display:block;width:100%;height:100%;background-color:#000;background-position:center bottom;background-size:cover;background-repeat:no-repeat;pointer-events:none}
.feature-video-canvas[hidden]{display:none}
.feature-premiere{
  position:absolute;
  z-index:2;
  top:12.5%;
  right:0;
  left:0;
  width:max-content;
  max-width:94%;
  margin:auto;
  color:transparent;
  background:linear-gradient(90deg,#ff8ac4,#ea8dff,#a7aaff,#5cb8ff,#6dd9ff,#54dfcb,#4ad968);
  background-clip:text;
  -webkit-background-clip:text;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","PingFang SC","Microsoft YaHei",sans-serif;
  font-size:clamp(20px,3.2vw,34px);
  font-weight:900;
  line-height:1.15;
  letter-spacing:.1em;
  text-align:center;
  white-space:nowrap;
  pointer-events:none;
  isolation:isolate;
}
.feature-premiere::before,
.feature-premiere::after{
  content:attr(data-text);
  position:absolute;
  z-index:-1;
  inset:0;
  color:transparent;
  background:inherit;
  background-clip:text;
  -webkit-background-clip:text;
  pointer-events:none;
}
.feature-premiere::before{filter:blur(1.35em);opacity:1}
.feature-premiere::after{filter:blur(.7em);opacity:.745}

/* Keep the filing footer on the page canvas in every viewport and theme. */
:root .mobile-footer.home-footer,
.product-main>.mobile-footer.home-footer{border:0;background:var(--canvas)}

/* Keep unfinished animation media hidden so black first frames never flash. */
.guide-media,.feature-media{position:relative}
.guide-media>*,.feature-media>*{transition:opacity .22s ease}
.guide-media .lottie-poster{display:block;width:100%;height:100%;object-fit:contain}
[data-lottie]:not(.media-ready)>*,
.guide-media.media-pending>*,
.guide-media.media-failed>*,
.feature-media.media-pending>*,
.feature-media.media-failed>*{opacity:0!important}
[data-lottie]:not(.media-ready)::after,
.guide-media.media-pending::after,
.guide-media.media-failed::after,
.feature-media.media-pending::after,
.feature-media.media-failed::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:5;
  background:#e9edf0;
  pointer-events:none;
}
.feature-media.video-media.media-pending,
.feature-media.video-media.media-failed{background:#e9edf0}
:root[data-theme="dark"] [data-lottie]:not(.media-ready)::after,
:root[data-theme="dark"] .guide-media.media-pending::after,
:root[data-theme="dark"] .guide-media.media-failed::after,
:root[data-theme="dark"] .feature-media.media-pending::after,
:root[data-theme="dark"] .feature-media.media-failed::after{background:#12151a}
:root[data-theme="dark"] .feature-media.video-media.media-pending,
:root[data-theme="dark"] .feature-media.video-media.media-failed{background:#12151a}

/* Software-matched first-load screen. */
body.is-site-loading{overflow:hidden}
body.is-site-loading .mobile-shell{visibility:hidden}
.site-splash{
  position:fixed;
  z-index:9999;
  inset:0;
  display:grid;
  grid-template-rows:1fr auto;
  justify-items:center;
  padding:max(28px,env(safe-area-inset-top)) 24px max(28px,env(safe-area-inset-bottom));
  background:var(--canvas);
  opacity:1;
  visibility:visible;
  transition:opacity .55s ease,visibility .55s ease;
}
.site-splash.is-leaving{opacity:0;visibility:hidden}
.site-splash-brand{
  align-self:center;
  display:grid;
  justify-items:center;
}
.site-splash-logo{
  width:clamp(100px,24vw,132px);
  aspect-ratio:1;
  border-radius:22%;
  box-shadow:0 16px 38px rgba(24,77,142,.16);
  opacity:0;
  transform:translateY(46px);
}
.site-splash.is-animating .site-splash-logo{
  animation:
    splash-brand-enter .9s cubic-bezier(.22,.61,.36,1) .06s forwards,
    splash-logo-breathe 2.2s ease-in-out 1.25s infinite;
}
.site-splash-brand strong{
  margin-top:18px;
  color:var(--ink);
  font-size:clamp(26px,6vw,32px);
  line-height:1.1;
  opacity:0;
  transform:translateY(38px);
}
.site-splash.is-animating .site-splash-brand strong{
  animation:splash-brand-enter .9s cubic-bezier(.22,.61,.36,1) .38s forwards;
}
.site-splash-brand span{
  margin-top:10px;
  color:var(--muted);
  font-size:14px;
  font-weight:650;
  opacity:0;
  transform:translateY(30px);
}
.site-splash.is-animating .site-splash-brand span{
  animation:splash-brand-enter .9s cubic-bezier(.22,.61,.36,1) .7s forwards;
}
.site-splash-progress{
  display:grid;
  justify-items:center;
  gap:8px;
  padding-bottom:4px;
}
.site-splash-line{
  position:relative;
  width:min(160px,46vw);
  height:12px;
  overflow:hidden;
}
.site-splash-line::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:42%;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#2f7df2,#34d6c4,#af65f5);
  transform:translate(-100%,-50%);
  animation:splash-line-fallback 1.05s ease-in-out infinite;
}
.site-splash-line.lottie-ready::before{display:none}
.site-splash-line svg{display:block;width:100%!important;height:100%!important}
.site-splash-progress>span{
  color:var(--muted);
  font-size:12px;
  font-weight:650;
}
@keyframes splash-line-fallback{
  0%{transform:translate(-100%,-50%)}
  100%{transform:translate(340%,-50%)}
}
@keyframes splash-brand-enter{
  from{opacity:0;transform:translateY(46px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes splash-logo-breathe{
  0%,100%{transform:translateY(0) scale(1)}
  50%{transform:translateY(-3px) scale(1.018)}
}
@media(prefers-reduced-motion:reduce){
  .site-splash{transition:none}
  .site-splash-line::before{animation-duration:1.8s}
  .site-splash-logo,
  .site-splash-brand strong,
  .site-splash-brand span{
    opacity:1;
    transform:none;
    animation:none;
  }
}

/* Admin release publishing uses the same panel and pill controls as the dashboard. */
.release-form{display:grid;gap:16px}
.release-form>label,.release-fields label{display:grid;gap:7px;color:var(--muted);font-size:11px;font-weight:700}
.release-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.release-fields .release-url-field{grid-column:1/-1}
.release-form input,.release-form textarea{
  width:100%;
  min-height:48px;
  padding:12px 16px;
  border:1px solid var(--line);
  border-radius:24px;
  color:var(--ink);
  background:var(--surface);
  font:inherit;
  font-size:13px;
  outline:none;
}
.release-form textarea{min-height:132px;border-radius:24px;line-height:1.65;resize:vertical}
.release-form input:focus,.release-form textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px color-mix(in srgb,var(--blue) 14%,transparent)}
.release-actions{display:flex;align-items:center;justify-content:space-between;gap:14px}
.release-actions .primary{min-width:240px}
@media(max-width:760px){
  .release-fields{grid-template-columns:1fr}
  .release-actions{align-items:stretch;flex-direction:column}
  .release-actions .primary{width:100%;min-width:0}
}

/* Vendor compatibility: keep verification status explicit and brand-led. */
.compatibility-module{
  display:grid;
  align-content:start;
  gap:24px;
  padding:34px 20px;
  background:var(--surface);
}
.compatibility-module h2{margin:0;font-size:26px;line-height:1.15}
.compatibility-lead{max-width:660px;margin:0;color:var(--muted);font-size:13px;line-height:1.7}
.vendor-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:10px}
.vendor-item{
  display:grid;
  grid-template-columns:52px minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  min-width:0;
  min-height:72px;
  padding:9px 14px 9px 9px;
  border:1.5px solid #d8dde2;
  border-radius:20px;
  background:#f7f8f9;
}
.vendor-logo{
  display:grid;
  width:52px;
  height:52px;
  place-items:center;
  overflow:hidden;
  border-radius:16px;
  background:#707983;
  box-shadow:0 8px 20px rgba(20,27,35,.12);
}
.vendor-logo img{
  display:block;
  width:72%;
  max-width:38px;
  height:52%;
  object-fit:contain;
  filter:brightness(0) invert(1);
}
.vendor-logo img.is-symbol{width:54%;height:54%}
.vendor-item-dark-logo .vendor-logo img{filter:brightness(0)}
.vendor-item>div{min-width:0}
.vendor-item strong,.vendor-item>div span{display:block}
.vendor-item strong{overflow:hidden;color:var(--ink);font-size:14px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.vendor-item>div span{margin-top:4px;overflow:hidden;color:var(--muted);font-size:11px;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}
.compatibility-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 10px;
  border:1px solid #d8dde2;
  border-radius:999px;
  background:#fff;
  color:#56616d;
  font-size:10px;
  font-style:normal;
  font-weight:760;
  white-space:nowrap;
}
.vendor-xiaomi{border-color:#ffb27f;background:#fff4ed}.vendor-xiaomi .vendor-logo{background:#ff6900;box-shadow:0 8px 20px rgba(255,105,0,.18)}.vendor-xiaomi .compatibility-status{border-color:#ffc49d;background:#fff0e5;color:#c94f00}
.vendor-redmi{border-color:#ffaaa4;background:#fff1f0}.vendor-redmi .vendor-logo{background:#f04438;box-shadow:0 8px 20px rgba(240,68,56,.18)}.vendor-redmi .compatibility-status{border-color:#ffbbb6;background:#ffe9e7;color:#c92d23}
.vendor-poco{border-color:#efd45e;background:#fffbea}.vendor-poco .vendor-logo{background:#ffd400;box-shadow:0 8px 20px rgba(255,212,0,.2)}.vendor-poco .compatibility-status{border-color:#f1da76;background:#fff8d8;color:#775f00}
.vendor-oppo{border-color:#77cca5;background:#edf9f3}.vendor-oppo .vendor-logo{background:#129b5a;box-shadow:0 8px 20px rgba(18,155,90,.18)}.vendor-oppo .compatibility-status{border-color:#92d8b7;background:#e4f7ed;color:#08743f}
.vendor-vivo{border-color:#aab7ff;background:#f0f2ff}.vendor-vivo .vendor-logo{background:#415fff;box-shadow:0 8px 20px rgba(65,95,255,.18)}.vendor-vivo .compatibility-status{border-color:#bdc7ff;background:#e8ecff;color:#2746d9}
.vendor-iqoo{border-color:#e5cd55;background:#fffbe8}.vendor-iqoo .vendor-logo{background:#f6c900;box-shadow:0 8px 20px rgba(246,201,0,.2)}.vendor-iqoo .compatibility-status{border-color:#ead86e;background:#fff8d6;color:#775f00}
.vendor-realme{border-color:#e9cb59;background:#fff9e5}.vendor-realme .vendor-logo{background:#ffc915;box-shadow:0 8px 20px rgba(255,201,21,.2)}.vendor-realme .compatibility-status{border-color:#efd779;background:#fff5cf;color:#735900}
.vendor-oneplus{border-color:#ff9da2;background:#fff0f1}.vendor-oneplus .vendor-logo{background:#f5010c;box-shadow:0 8px 20px rgba(245,1,12,.18)}.vendor-oneplus .compatibility-status{border-color:#ffb1b5;background:#ffe7e9;color:#c50009}
.vendor-huawei{border-color:#ea8ca0;background:#fff0f3}.vendor-huawei .vendor-logo{background:#cf0a2c;box-shadow:0 8px 20px rgba(207,10,44,.18)}.vendor-huawei .compatibility-status{border-color:#efa3b2;background:#ffe7ec;color:#a50725}
.vendor-honor{border-color:#75ccdf;background:#edfafd}.vendor-honor .vendor-logo{background:#00a9ce;box-shadow:0 8px 20px rgba(0,169,206,.18)}.vendor-honor .compatibility-status{border-color:#91d8e7;background:#e4f8fc;color:#007c99}
.vendor-meizu{border-color:#80ccef;background:#edf8fd}.vendor-meizu .vendor-logo{background:#32a5e7;box-shadow:0 8px 20px rgba(50,165,231,.18)}.vendor-meizu .compatibility-status{border-color:#9bd8f2;background:#e5f5fc;color:#1679a8}
.vendor-lenovo{border-color:#ef9690;background:#fff1f0}.vendor-lenovo .vendor-logo{background:#e2231a;box-shadow:0 8px 20px rgba(226,35,26,.18)}.vendor-lenovo .compatibility-status{border-color:#f2aaa5;background:#ffe8e6;color:#ad1811}
.vendor-wiko{border-color:#82cfc4;background:#eef9f7}.vendor-wiko .vendor-logo{background:#21a99a;box-shadow:0 8px 20px rgba(33,169,154,.18)}.vendor-wiko .compatibility-status{border-color:#9bdacf;background:#e4f6f3;color:#11776c}
.vendor-zte{border-color:#78c5e3;background:#edf8fc}.vendor-zte .vendor-logo{background:#0093d0;box-shadow:0 8px 20px rgba(0,147,208,.18)}.vendor-zte .compatibility-status{border-color:#92d2e9;background:#e4f5fb;color:#006f9d}
.vendor-maimang{border-color:#f0c06b;background:#fff8eb}.vendor-maimang .vendor-logo{background:#f3a01a;box-shadow:0 8px 20px rgba(243,160,26,.2)}.vendor-maimang .compatibility-status{border-color:#f3ce8b;background:#fff2da;color:#9a5d00}
:root[data-theme="dark"] .vendor-item{background:#1d2228}
:root[data-theme="dark"] .vendor-xiaomi{border-color:#9d4d19;background:#281d17}:root[data-theme="dark"] .vendor-redmi{border-color:#843b36;background:#291a1a}:root[data-theme="dark"] .vendor-poco,:root[data-theme="dark"] .vendor-iqoo,:root[data-theme="dark"] .vendor-realme,:root[data-theme="dark"] .vendor-maimang{border-color:#76651d;background:#282513}:root[data-theme="dark"] .vendor-oppo{border-color:#276d4a;background:#15251d}:root[data-theme="dark"] .vendor-vivo{border-color:#46589e;background:#191d31}:root[data-theme="dark"] .vendor-oneplus,:root[data-theme="dark"] .vendor-huawei,:root[data-theme="dark"] .vendor-lenovo{border-color:#83303d;background:#29171b}:root[data-theme="dark"] .vendor-honor,:root[data-theme="dark"] .vendor-meizu,:root[data-theme="dark"] .vendor-zte{border-color:#277386;background:#14252a}:root[data-theme="dark"] .vendor-wiko{border-color:#296d64;background:#142521}
.compatibility-note{margin:0;color:var(--muted);font-size:11px;line-height:1.65}

@media(min-width:960px){
  .update-module,.compatibility-module{align-self:start}
  .compatibility-module{grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden}
  .compatibility-module .vendor-grid{
    align-content:start;
    min-height:0;
    padding-right:5px;
    overflow-x:hidden;
    overflow-y:auto;
    overscroll-behavior-y:contain;
    scrollbar-color:var(--line-strong) transparent;
    scrollbar-width:thin;
  }
  .member-module{
    grid-column:1/-1;
    grid-template-columns:minmax(0,1fr) minmax(300px,420px)!important;
    grid-template-rows:auto auto!important;
    align-items:end;
    min-height:280px;
  }
  .member-module .module-copy{grid-column:1/-1}
  .member-module .wechat-member-intro{grid-column:1;grid-row:2;align-self:end;padding-top:12px}
  .member-module>.module-link{grid-column:2;grid-row:2;align-self:end}
}

@media(max-width:640px){
  .product-main .compatibility-module{height:auto!important;gap:20px;padding-right:16px;padding-left:16px;overflow:visible}
  .vendor-grid{grid-template-columns:1fr;gap:10px;overflow:visible}
  .vendor-item{grid-template-columns:46px minmax(0,1fr) auto;min-height:66px;gap:11px;padding:9px 11px 9px 9px}
  .vendor-logo{width:46px;height:46px;border-radius:14px}
  .vendor-item strong{white-space:normal}
}

/* Official security notice: visible on the home page and download/update page. */
.security-warning-card{
  grid-column:1/-1;
  position:relative;
  width:auto;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  margin:0;
  padding:22px 24px;
  border:1px solid rgba(255,255,255,.22);
  border-radius:22px;
  background:linear-gradient(135deg,#d31d2a 0%,#b31320 54%,#8e0e18 100%);
  box-shadow:0 14px 34px rgba(153,13,24,.25);
  color:#fff;
}
.security-warning-card::after{
  position:absolute;
  top:-58px;
  right:-46px;
  width:150px;
  height:150px;
  border:28px solid rgba(255,255,255,.08);
  border-radius:50%;
  content:"";
  pointer-events:none;
}
.security-warning-heading{position:relative;z-index:1;display:flex;align-items:center;gap:12px;margin-bottom:13px}
.security-warning-badge{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-height:28px;padding:0 11px;border-radius:999px;background:#fff;color:#b31320;font-size:11px;font-weight:850;letter-spacing:.08em}
.security-warning-card h2{min-width:0;margin:0;overflow-wrap:anywhere;color:#fff;font-size:21px;line-height:1.28}
.security-warning-card p{position:relative;z-index:1;margin:7px 0 0;overflow-wrap:anywhere;color:rgba(255,255,255,.94);font-size:13px;line-height:1.72}
.security-warning-card a{position:relative;z-index:1;display:inline-flex;margin-top:15px;padding-bottom:2px;border-bottom:1px solid rgba(255,255,255,.7);color:#fff;font-size:12px;font-weight:800}
.product-main>.security-warning-card{width:auto;justify-self:stretch}
.updates-main>.security-warning-card{margin-bottom:10px}
@media(max-width:560px){
  .security-warning-card{padding:18px;border-radius:18px}
  .security-warning-heading{align-items:flex-start;flex-direction:column;gap:9px}
  .security-warning-card h2{font-size:18px}
  .security-warning-card p{font-size:12px;line-height:1.68}
}
