/* V3.1 reading tokens; rem supports browser text enlargement. No webfont dependency. */
:root{
 --type-title:2.25rem; --type-body:1.1875rem; --type-data:2.25rem;
 --type-status:.9375rem; --type-chart:.9375rem; --type-boundary:1rem;
 --type-button:1.0625rem; --type-dialog:1.1875rem;
 --type-section:1.5rem; --read-color:#c7d8de; --label-color:#b3cbd3;
}
body,button,input{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Segoe UI",sans-serif;font-size:var(--type-body);letter-spacing:0;line-height:1.6}
body{color:var(--read-color)}h1,h2,h3{letter-spacing:0!important;font-weight:600!important;overflow-wrap:anywhere}p{line-height:1.6!important;max-width:58ch;color:var(--read-color)}
#app p,#app .detail-list dd,#app .engine-explanation p,#app .evidence-list p,#app .story-match p,#app .mobile-step p{font-size:var(--type-body)}
#app h1{font-size:var(--type-title);line-height:1.35}#app h2,#app h3{font-size:var(--type-section)}
#app .btn,#app .link,#app .segmented button,#app summary{font-size:var(--type-button);min-height:44px;line-height:1.4;white-space:normal}
#app button{min-width:44px;min-height:44px}#app .icon-button{min-width:44px;min-height:44px}
#app small,#app .kicker,#app .legend,#app .customer-context,#app .breadcrumb,#app .client-row time,#app .metric-head,#app .metric-status,#app .pool-stat span{font-size:var(--type-chart);line-height:1.5;color:var(--label-color)}
#app .kicker{letter-spacing:.03em}#app .tag,#app .small-pill,#app .report-state{font-size:var(--type-status);color:var(--label-color)}
#app .tag.mint,#app .tag:not(.blue):not(.gold):not(.muted){color:var(--mint)}#app .tag.blue{color:var(--blue)}#app .tag.gold{color:#f4d7a2}
#app .metric-number,#app .candidate-value,#app .pool-stat b{font-size:var(--type-data);font-variant-numeric:tabular-nums}
#app .note,#app .micro-note,#app .boundary-note,#app .disclaimer,#app .local-scope,#app .mobile-note{font-size:var(--type-boundary)!important;line-height:1.6!important;color:var(--read-color)!important}
#app .main{min-width:0}.customer-context{overflow-wrap:anywhere}.home-copy h1{font-size:3.625rem!important}.home-copy p{max-width:40ch}.home-intro{min-height:300px}.hero-science{min-width:0;min-height:280px}.home-copy .home-demo-caption{font-size:var(--type-chart)!important}
.drawer-toggle,.drawer-close{display:none}.drawer-backdrop{display:none}
.client-row{min-width:0}.client-table-head,.client-row{grid-template-columns:minmax(165px,1.15fr) minmax(100px,.75fr) minmax(150px,1fr) minmax(210px,1.5fr) minmax(155px,1fr);gap:16px}.client-row>time{display:block!important;white-space:normal;overflow-wrap:anywhere}.client-ident b{font-size:var(--type-body)}.client-ident span,.report-state small{font-size:var(--type-chart)!important}.client-row-actions{gap:10px;flex-wrap:wrap}.client-row-actions .btn{font-size:var(--type-button)}.followup-preview{margin-top:8px}.pool-stat{min-width:0}.client-search input{font-size:var(--type-body)}.pool-toolbar{flex-wrap:wrap}.detail-list dd{overflow-wrap:anywhere}.detail-list dd .btn{margin:10px 0 0 10px}.local-scope{margin:20px 0}.app-footer{flex-wrap:wrap;gap:12px}
.fingerprint-visual{margin:0;position:relative;min-width:0}.fingerprint-canvas{position:relative;display:grid;place-items:center}.fingerprint-canvas .fingerprint{width:100%;height:100%;max-height:280px;display:block}.bio-center-html{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:var(--type-chart);font-weight:600;line-height:1.4;text-align:center;background:#0b2832;padding:10px 12px;border:1px solid #397f70;border-radius:18px;color:#e2f9ef;white-space:nowrap}.fingerprint-visual figcaption{font-size:var(--type-boundary);text-align:center;color:var(--read-color);padding:8px 0 12px}.story-ecology>.fingerprint-visual{width:240px;flex:none}.mobile-profile .fingerprint-visual{margin:6px 0 15px}.mobile-profile .fingerprint-canvas{height:185px}.mobile-profile .fingerprint{height:185px!important}.fingerprint-panel .fingerprint-visual{width:100%}
.radar-visual{display:grid;grid-template-columns:minmax(160px,1fr) minmax(210px,1.15fr);gap:20px;align-items:center;min-width:0}.radar-visual .radar-chart{width:100%;height:auto!important;min-height:0!important;max-height:300px;overflow:visible}.radar-reading{display:grid;gap:8px;min-width:0}.radar-reading-row{display:flex;gap:10px;align-items:center;justify-content:space-between;background:#102b35;border:1px solid #355b64;border-radius:9px;padding:10px 12px;font-size:var(--type-chart);line-height:1.5;text-align:left}.radar-reading-row>span{flex:1;display:flex;gap:9px;align-items:center}.radar-reading-row i{width:7px;height:7px;border-radius:50%;flex:none}.radar-reading-row b{color:#e5f6ef;min-width:25px;font-variant-numeric:tabular-nums}.chart-note{grid-column:1/-1;font-size:var(--type-boundary)!important;color:var(--read-color)}.mobile-match .radar-visual{grid-template-columns:1fr}.mobile-match .radar-chart{width:180px;max-width:100%;justify-self:center}.mobile-match .radar-reading-row{font-size:1rem}.mobile-match .radar-reading{gap:8px}.nine-radar text{font-size:16px}.dimension-chips button{font-size:var(--type-chart)}.mobile-customer{display:flex;flex-wrap:wrap;gap:10px}.mobile-customer .btn{font-size:var(--type-button)}
/* Keep the question, conclusion and supporting evidence ahead of decoration. */
.presentation-header{min-height:74px;padding:12px 28px;position:sticky;scroll-margin-top:90px}.presentation-main{padding:20px 32px 120px;max-width:1440px;scroll-padding-top:110px}.concise-story h1{margin:8px 0 12px;max-width:28ch}.story-conclusion{font-size:1.5rem!important;line-height:1.5!important;margin:0 0 16px;color:#e1f8ed;max-width:56ch}.story-evidence{margin:0;padding:14px 0;gap:20px}.story-evidence>p{margin:0;font-size:var(--type-body)!important;line-height:1.6!important;align-items:flex-start}.story-evidence>p>span{font-size:var(--type-chart);flex:none;color:var(--mint)}.concise-story>.boundary-note{margin:14px 0;max-width:85ch}.story-expand{margin-bottom:14px}.story-visual-block{border-top:1px solid var(--line);padding-top:16px}.story-ecology{gap:26px}.story-metrics{margin-top:12px;gap:22px}.story-metrics b{font-size:var(--type-data)}.story-flow{gap:10px}.story-flow button{font-size:var(--type-button);padding:12px;min-width:0}.story-flow-detail{margin:14px 0;gap:16px}.story-candidates{margin:12px 0;gap:12px}.story-candidates button{padding:12px 16px}.story-candidates b,.story-candidates strong{font-size:var(--type-data)}.story-match{grid-template-columns:1fr;gap:16px;align-items:start}.story-match>div:last-child{display:none}.story-chart,.story-steps{border:1px solid #3b626a;border-radius:12px;padding:0;min-width:0}.story-chart summary,.story-steps summary{padding:14px 18px;cursor:pointer;color:var(--mint)}.story-chart .radar-visual{padding:15px}.story-steps>div,.story-steps>p{margin:15px}.story-donor{margin:10px 0;gap:24px}.donor-symbol{height:100px;width:100px}.story-donor .kicker{margin-bottom:4px}.story-donor p{margin:8px 0}.story-batch{padding:20px}.story-batch h2{font-size:1.75rem!important}.story-batch-meta{margin:12px 0}.story-batch .sample-banner{margin-bottom:8px;font-size:var(--type-boundary)}.story-batch p{margin:8px 0}.story-journey{gap:12px}.story-journey>div{padding:12px 0}.story-next{margin-top:10px}.story-next p{margin:8px 0}.presentation-controls{position:fixed;min-height:88px;padding:10px 92px calc(10px + env(safe-area-inset-bottom)) 24px;gap:18px}.presentation-controls>.btn{font-size:var(--type-button);min-width:112px;min-height:48px}.chapter-name,.chapter-name b{font-size:var(--type-chart)}.chapter-dots span{font-size:var(--type-chart)}.professional-details{padding:18px}.story-screening button{font-size:var(--type-button)}
/* Modal's sticky close region remains available after internal scrolling. */
#app .modal{padding:0;max-height:calc(100dvh - 32px);scroll-padding-block:80px 30px}.modal-closebar{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;border-bottom:1px solid var(--line);background:#16323d;border-radius:20px 20px 0 0}.modal-closebar>span{font-size:var(--type-chart);color:var(--read-color)}#app .modal-close{position:static;flex:none}.modal-body{padding:24px 28px 32px}.modal-body p,.modal-body .summary-details b{font-size:var(--type-dialog)!important}.modal-body h2{font-size:1.75rem!important}.summary-details>div{display:block}.summary-details span{display:block;font-size:var(--type-chart);margin-bottom:7px}.modal-buttons{display:flex;flex-wrap:wrap;gap:12px}.modal-buttons .btn{flex:1;min-width:170px}.completion-actions{justify-content:center;gap:12px;flex-wrap:wrap}.completion-summary{flex-wrap:wrap}.share-button{font-size:var(--type-button)}
@media(min-width:1700px){:root{--type-title:3rem;--type-body:1.5rem;--type-data:2.75rem;--type-status:1.125rem;--type-chart:1.125rem;--type-boundary:1.125rem;--type-button:1.375rem;--type-dialog:1.375rem;--type-section:1.875rem}.presentation-main{max-width:1610px;padding-inline:50px}.story-conclusion{font-size:2rem!important}.home-copy h1{font-size:4.5rem!important}.home-intro{min-height:360px}.hero-science{min-height:330px}.client-row{font-size:1.125rem}.client-row .btn{font-size:1.125rem}.story-ecology>.fingerprint-visual{width:290px}.presentation-controls{min-height:100px}.radar-visual{grid-template-columns:1fr 1.2fr}}
@media(max-width:1180px){#app .sidebar{display:none;width:290px;max-width:calc(100% - 52px);flex-basis:auto;padding:18px;position:fixed;inset:0 auto 0 0;z-index:300;background:#0a222c;overflow:auto;height:100dvh}#app .sidebar.expanded{display:flex;flex-direction:column}.sidebar .brand>span,.sidebar .partner-identity,.sidebar .nav-section-label,.sidebar .nav-item>span,.sidebar .sidebar-foot{display:block!important}.sidebar .partner-identity{display:flex!important}.sidebar .nav-item{justify-content:flex-start!important;gap:12px;padding:12px!important;font-size:var(--type-button)}.sidebar .brand{padding:20px 0}.sidebar .brand small{font-size:.75rem}.sidebar .partner-identity b{font-size:1rem}.drawer-toggle,.drawer-close{display:inline-flex}.drawer-backdrop{display:block;position:fixed;inset:0;z-index:290;background:#010d16bb;border:0}.drawer-open{overflow:hidden}#app .main{margin:0;width:100%;max-width:100%;padding:0 28px 28px}.topbar{gap:12px;min-height:80px}.breadcrumb{flex:1}.topbar-right{gap:10px}.home-intro{grid-template-columns:1fr 1fr;min-height:300px;gap:22px}.home-copy{padding:0}.hero-science{min-height:280px}.client-table-head{display:none}.client-row{grid-template-columns:1fr 1fr;padding:22px 20px;margin:14px 0;border:1px solid var(--line);border-radius:14px;background:#102630}.client-row>time{grid-column:1!important;grid-row:auto!important}.client-row>time:before{content:"最近更新："}.client-row>div:nth-child(4){grid-column:2;grid-row:2/4}.client-row-actions{grid-column:1/-1}.client-row .followup-preview{margin-top:10px}.client-row-actions .btn{min-width:100px}.story-evidence{flex-direction:row}.presentation-main{padding:14px 28px 120px}.presentation-header{padding:10px 24px;min-height:72px}.presentation-brand{min-width:200px}.presentation-brand>span{font-size:1.0625rem}.presentation-brand small{font-size:.9375rem}.story-conclusion{font-size:1.375rem!important}.story-ecology>.fingerprint-visual{width:210px}.story-batch{padding:18px}.story-donor h2{font-size:1.75rem!important}.story-evidence>p{font-size:1.1875rem!important}.chapter-dots{display:none}.chapter-name{display:flex;margin:0}.story-flow button b{font-size:1rem}.story-flow button{padding:10px}.metric-grid{grid-template-columns:repeat(3,1fr)}.object-context{font-size:var(--type-chart);padding:12px;margin:8px 0}.story-flow-detail h3{font-size:1.375rem!important}.story-match{grid-template-columns:1fr}.profile-main,.match-analysis{grid-template-columns:1fr}.modal{width:680px}.presentation-controls{min-height:82px}}
@media(max-width:850px){.home-intro{grid-template-columns:1fr;min-height:0}.hero-science{min-height:160px;max-height:180px;margin:0}.science-caption{position:relative;left:auto;bottom:auto;z-index:2;padding:25px}.science-caption b{font-size:1.375rem}.home-copy h1{font-size:3.125rem!important;line-height:1.15!important}.home-copy h1 br{display:none}.home-copy h1{margin:8px 0 18px}.home-intro .trust-mini{margin:16px 0 0}.pool-heading{margin-top:25px}.pool-stats{grid-template-columns:repeat(3,1fr)}.pool-stat{padding:14px;min-width:0}.pool-toolbar{align-items:stretch}.client-search{width:100%}.story-evidence{flex-direction:column;gap:10px}.story-journey{grid-template-columns:repeat(4,1fr)}.story-ecology{flex-wrap:wrap}.metric-grid{grid-template-columns:repeat(2,1fr)}.evidence-metadata,.journey-lower{grid-template-columns:1fr}.radar-visual{grid-template-columns:1fr}.radar-chart{max-width:240px;justify-self:center}.detail-list>div{grid-template-columns:1fr;gap:10px}.mobile-shell{padding-inline:0}.phone-view{max-width:100%;width:450px}.topbar-right{width:100%;justify-content:flex-end}.topbar-right .btn{font-size:.9375rem}.topbar{position:relative}.presentation-header{position:relative}.presentation-main{scroll-padding-top:20px}.presentation-brand{min-width:100%}.presentation-controls{padding-right:85px}.chapter-name{display:block;text-align:center}.presentation-controls>.btn{min-width:90px;padding:10px}.chapter-control{min-width:0}}
@media(max-width:640px){:root{--type-title:1.875rem;--type-body:1.0625rem;--type-data:1.875rem;--type-status:.875rem;--type-chart:.875rem;--type-boundary:.9375rem;--type-button:1rem;--type-dialog:1.0625rem;--type-section:1.375rem}#app .main{padding:0 18px 24px}.home-copy h1{font-size:2.625rem!important}.client-row{display:flex;flex-direction:column;align-items:stretch;padding:20px 18px}.client-row>time,.client-row>div{width:100%}.client-row-actions{display:flex;gap:12px}.client-ident{gap:5px}.client-row>time{margin-top:2px;font-size:var(--type-chart)}.pool-stat{padding:12px 10px}.pool-stat b{font-size:1.75rem}.pool-heading h2{font-size:1.5rem!important}.pool-heading .tag{max-width:100%}.pool-toolbar{flex-direction:column}.narrow-entry{gap:20px}.narrow-entry .panel{padding:22px}.modal-backdrop{padding:10px}.modal-body{padding:20px 18px 28px}.modal-closebar{padding:10px 12px}.modal-buttons{flex-direction:column}.modal-buttons .btn{width:100%}.summary-details b{overflow-wrap:anywhere}.completion{padding:26px 0}.completion-summary{display:grid;grid-template-columns:1fr}.completion-actions{display:flex;flex-direction:column}.completion-actions .btn{width:100%}.phone-view{width:100%;border-radius:0;border-inline:0;overflow:visible}.phone-view main{padding:0 18px 25px}.mobile-nav{position:sticky;bottom:0;height:auto;min-height:84px;gap:10px;padding:10px 76px calc(10px + env(safe-area-inset-bottom)) 10px}.mobile-nav button{min-width:44px;font-size:.875rem!important}.mobile-tech{padding:14px 12px 30px}.mobile-shell{padding:0}.mobile-match{padding:18px}.mobile-profile .fingerprint-canvas{height:180px}.mobile-match .radar-visual{gap:8px}.mobile-match .radar-chart{width:180px}.mobile-match .score-ring{width:115px!important;height:115px!important}.mobile-match .score-ring strong{font-size:2rem}.mobile-hero h1{margin-top:10px}.mobile-brand>span{font-size:1rem!important}.mobile-customer{font-size:.9375rem}.mobile-customer span{font-size:.875rem}.mobile-step{flex-wrap:wrap}.mobile-step>div{min-width:140px}.mobile-step>span{font-size:.875rem}.mobile-customer .btn{margin-top:4px;font-size:.9375rem}.mobile-metric-grid{grid-template-columns:1fr 1fr}.mobile-metric{min-width:0}.mobile-metric>span{font-size:1rem}.mobile-metric>small{display:block}.mobile-metric>b{font-size:1.625rem}.bio-center-html{font-size:.9375rem}.presentation-main{padding:18px 18px 155px}.presentation-controls{flex-wrap:wrap;gap:10px;padding:12px 75px calc(12px + env(safe-area-inset-bottom)) 12px}.presentation-controls>.btn{min-width:44px;font-size:.9375rem;padding:10px;flex:1}.chapter-control{flex:1;min-width:45px}.chapter-name{font-size:.875rem}.chapter-name b{font-size:.875rem}.story-conclusion{font-size:1.25rem!important}.story-evidence>p{font-size:var(--type-body)!important}.story-candidates{flex-wrap:wrap}.story-candidates button{min-width:90px;flex:1;padding:12px 8px}.story-candidates b,.story-candidates strong{font-size:1.625rem}.story-candidates small{font-size:.875rem}.story-flow{grid-template-columns:1fr 1fr}.story-flow button b{font-size:1rem}.story-metrics span{font-size:1rem}.story-ecology>.fingerprint-visual{width:100%}.story-steps>div{grid-template-columns:1fr 1fr}.story-batch-meta{flex-direction:column;align-items:flex-start}.story-donor{flex-wrap:wrap}.story-screening{grid-template-columns:1fr 1fr}.progressive{min-width:0}.donor-facts{grid-template-columns:1fr}.page-bottom{flex-wrap:wrap}.metric-grid{grid-template-columns:1fr}.metric-number{overflow-wrap:anywhere}.customer-context{display:block}.customer-context span{display:block}.journey-track{grid-template-columns:1fr 1fr}.qc-detail-row{flex-wrap:wrap}.batch-hero{flex-direction:column}.evidence-metadata>div{flex-wrap:wrap}.detail-list dd .btn{margin-left:0}}
@media(prefers-reduced-motion:reduce){.bio-node{animation:none!important}}

/* Percent height uses the actual fixed backdrop box, including CSS/page zoom. */
#app .modal-backdrop{height:100%;max-height:100%;overflow:hidden;box-sizing:border-box}
#app .modal{max-height:calc(100% - 24px)!important;min-height:0;flex-shrink:1;box-sizing:border-box}
.modal-closebar{flex-shrink:0}.modal-body{min-width:0;overflow-wrap:anywhere}
.client-table-head,.client-row{grid-template-columns:repeat(5,minmax(0,1fr))}.client-table{min-width:0}.client-ident{overflow-wrap:anywhere}.client-row>div,.client-row>time{min-width:0}.topbar-right,.presentation-brand,.chapter-control{min-width:0}
@media(max-width:1180px){.client-row{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.client-row{display:flex}.modal-closebar>span{max-width:calc(100% - 60px)}}

html,body,#app,.mobile-shell,.phone-view{min-width:0!important}
#app .mobile-brand,#app .mobile-customer{min-width:0;overflow-wrap:anywhere}
#app .mobile-brand{flex-wrap:wrap}.mobile-match .panel-top{flex-wrap:wrap;gap:10px}
#app .radar-reading-row{min-width:0}.radar-reading-row>span{min-width:0;overflow-wrap:anywhere}
#app .mobile-nav{min-width:0;grid-template-columns:repeat(3,minmax(0,1fr))}.mobile-nav button{min-width:0!important}
#app .disclaimer{gap:10px;padding:12px}.disclaimer>span{min-width:0;overflow-wrap:anywhere}.mobile-customer .btn{max-width:100%}

#app .mobile-nav button{color:#b3cbd3}#app .mobile-nav button.active{color:var(--mint)}

.story-candidates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}
.story-candidates button,.story-candidates span,.story-candidates strong{min-width:0;overflow-wrap:anywhere}
.match-analysis>section,.match-analysis,.panel-top,.radar-panel,.evidence-panel{min-width:0}
.segmented{flex-wrap:wrap;max-width:100%}.segmented button{min-width:0;overflow-wrap:anywhere}
.story-candidates{grid-template-columns:repeat(auto-fit,minmax(min(100%,13rem),1fr))}

/* V3.1.1: explicit identity, content-first mobile header, unchanged body tokens. */
.missing-client{max-width:740px;min-height:100dvh;margin:0 auto;padding:clamp(24px,6vw,70px);display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:24px;overflow-wrap:anywhere}
.missing-pool{max-width:1450px;margin:0 auto;padding:32px}.missing-client p{max-width:44ch}.missing-client .tag{align-self:flex-start}
.presentation-identity{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.co-brand{font-size:var(--type-body);color:#e4f6ef;line-height:1.5;overflow-wrap:anywhere}.co-brand i{font-style:normal;color:var(--label-color);margin:0 8px}.presentation-customer{display:flex;flex-wrap:wrap;gap:10px 20px;line-height:1.5;min-width:0}.presentation-customer b{font-size:var(--type-body);font-weight:600;color:#e1f8ed;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.presentation-customer>span{font-size:var(--type-chart);color:var(--label-color)}.presentation-actions{display:flex;gap:12px;flex:none}.default-demo-note{font-size:var(--type-boundary);color:var(--label-color);margin:12px 0}
@media(max-width:850px){.presentation-header{display:grid;grid-template-columns:1fr;gap:14px;align-items:stretch}.presentation-brand{min-width:0;width:100%;display:flex;align-items:flex-start;gap:12px}.presentation-brand .brandmark{width:32px;height:32px;flex:none;margin-top:3px}.presentation-actions{width:100%;justify-content:flex-end}.presentation-customer{flex-direction:column;gap:4px}.presentation-customer b{font-size:var(--type-body)}.presentation-actions .btn{font-size:var(--type-button)}.presentation-main{padding-top:20px}.missing-pool{padding:24px}}
@media(max-width:640px){.presentation-header{padding:18px;gap:16px}.co-brand{font-size:1.0625rem}.presentation-customer b{font-size:1.0625rem;letter-spacing:0}.presentation-customer>span{font-size:.875rem}.presentation-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.presentation-actions .btn{min-height:48px;width:100%;margin:0}.missing-client{padding:28px 22px}.missing-pool{padding:22px 18px}}

#app .chapter-dots button{color:#b3cbd3}#app .chapter-dots button.active{color:var(--mint)}
