/* One typography contract: six sizes, two families. No per-card shrinking. */
:root{--t1:14px;--t2:16px;--t3:20px;--t4:24px;--t5:32px;--t6:48px;--sans:-apple-system,BlinkMacSystemFont,"PingFang SC","Microsoft YaHei",sans-serif}
body{font-family:var(--sans);font-size:var(--t2)}
body *{font-size:inherit!important;font-family:inherit!important;letter-spacing:normal!important;box-sizing:border-box}
.top b,.intro h1,.kicker,.result-head,.progressrow,.choice>b{font-family:pixel,var(--sans)!important}
p,h1,h2,h3,button,span{line-break:strict;word-break:normal;overflow-wrap:break-word;text-wrap:pretty}
[hidden]{display:none!important}
.top{gap:12px}.top b{font-size:var(--t3)!important;white-space:nowrap}.top small{display:block!important;font-size:var(--t1)!important;white-space:nowrap;color:#173f35}
.intro h1{font-size:var(--t6)!important;font-weight:900;line-height:1.08}.intro .lead{font-size:var(--t2)!important;line-height:1.5;margin:8px 0 12px}.intro .kicker{font-size:var(--t1)!important}.intro .facts{display:none}
.tile-label span{font-size:var(--t3)!important;font-weight:800}.tile-label small{display:block!important;font-size:var(--t1)!important;text-align:center;margin:2px 0 0}.tile-label{padding:5px 2px}
button{font-weight:650;line-height:1.3}.primary,.ios-btn,.continue{font-size:var(--t3)!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:0 12px!important;line-height:1.2;min-height:48px;white-space:nowrap}
.quiz .question,.onboarding-panel h2,.slide-title h2{font-size:var(--t4)!important;font-weight:800;line-height:1.35}.meta,.hint,.onboarding-kicker,.onboarding-panel header p,.context-choice small,.slide-title small{font-size:var(--t1)!important;line-height:1.4}
.quiz .choice,.quiz .goalgrid .choice{display:grid;grid-template-columns:28px minmax(0,1fr);gap:8px;align-items:center;padding:10px!important;font-size:var(--t2)!important;line-height:1.4;min-height:54px;text-align:left}
.quiz .choice b,.quiz .goalgrid .choice b{position:static;transform:none;width:28px;height:28px;display:flex;align-items:center;justify-content:center;flex:none;line-height:1}
.goalgrid{grid-auto-rows:1fr}.quiz .goalgrid .choice{gap:6px;padding:8px!important}.goalgrid .choice span{font-size:var(--t1)!important;white-space:nowrap}
.context-choice strong{font-size:var(--t1)!important;line-height:1.35}.context-choice small{font-size:var(--t1)!important}.onboarding-nav button{font-size:var(--t2)!important}
.result-actions{display:flex!important;justify-content:center;align-items:center;gap:10px}.result-actions .ios-btn{width:min(100%,360px);flex:1;max-width:420px}
.result-actions.is-final{display:flex!important;flex-direction:column;gap:6px}.result-actions.is-final .ios-btn{width:100%;max-width:none;flex:none;height:44px;min-height:44px;font-size:var(--t3)!important}
.result-head{font-size:var(--t1)!important}.result-slide .type-eyebrow,.reveal-eyebrow{font-size:var(--t2)!important;color:inherit;margin:0 0 5px}
.result-slide[data-result-slide="0"] .hero .name,.reveal-final .reveal-name{font-size:var(--t5)!important;line-height:1.2;font-weight:900;text-wrap:balance}
.result-slide[data-result-slide="0"] .hero .code{font-size:var(--t6)!important;line-height:1.05;font-weight:900;margin:4px 0;color:inherit}
.reveal-final .reveal-code{font-size:var(--t5)!important;line-height:1.15;font-weight:800;margin:5px 0;color:inherit}
.result-slide[data-result-slide="0"] .hero .sub,.reveal-final .reveal-strength{font-size:var(--t3)!important;line-height:1.4;font-weight:750;text-wrap:balance;margin:8px 0}
.result-slide[data-result-slide="0"] .hero{gap:8px;padding:12px 16px}.result-slide[data-result-slide="0"] .portrait{display:flex;flex-direction:column;align-items:center;min-height:0;overflow:hidden}.result-slide[data-result-slide="0"] .portrait img{min-height:0;flex:1;object-fit:contain;width:100%;height:0}
.portrait-caption{flex:none;background:#11130f;color:#fffdf7;padding:6px 10px;font-size:var(--t1)!important;line-height:1.4;text-align:center;width:100%;max-width:520px}.portrait-caption b{font-weight:800}
.result-slide[data-result-slide="0"] .score-card{grid-template-columns:auto 1fr;align-items:center;gap:16px;padding:9px 12px}.score-card>div:first-child{display:flex;align-items:center;gap:12px}.score-card>div:last-child{text-align:right}.score-card .score-label{font-size:var(--t1)!important;white-space:nowrap}.score-card .big{font-size:var(--t5)!important;line-height:1;margin:0}.score-card .stage{font-size:var(--t3)!important;line-height:1.3}.score-card .rank:empty{display:none}.result-slide[data-result-slide="0"] .famous{display:none}
.result-slide .profile p,.result-slide #missing,.result-slide .quote p,.steps{font-size:var(--t2)!important;line-height:1.55}.result-slide .profile strong,.result-slide .quote>strong,.result-slide .next h2{font-size:var(--t3)!important;line-height:1.4}.result-slide .card h3{font-size:var(--t2)!important}.tag,.barrow,.tool small,.tool,.term,.population-source{font-size:var(--t1)!important}.term{padding:0!important}.result-slide .barrow{grid-template-columns:78px minmax(0,1fr) 78px}.result-slide .quote{font-size:var(--t3)!important;padding:12px}.slide-title{gap:8px}.result-slide .tool{padding:8px!important}.term-label{white-space:nowrap}
.reveal-final{color:#11130f!important}.reveal-final>div:not([hidden]){display:grid;grid-template-columns:minmax(0,1fr) 32%;gap:5px 12px;align-content:start}.reveal-final .reveal-eyebrow,.reveal-final .reveal-name,.reveal-final .reveal-code{grid-column:1;margin:0}.final-portrait{grid-column:2;grid-row:1 / 4;width:100%;aspect-ratio:1;object-fit:cover;image-rendering:pixelated;align-self:center}.reveal-final .reveal-strength,.reveal-final .reveal-position,.reveal-final .reveal-upgrade,.reveal-final .reveal-task,.reveal-final .reveal-challenge,.reveal-final .reveal-disclaimer{grid-column:1 / -1}
.reveal-final .reveal-position{padding:10px 12px;margin:4px 0}.reveal-final .reveal-position>span,.reveal-final .reveal-position small{font-size:var(--t2)!important;line-height:1.4}.reveal-final .reveal-position strong{font-size:var(--t5)!important;line-height:1.1;margin:5px 0}.reveal-final .reveal-upgrade{color:#11130f;font-size:var(--t3)!important;line-height:1.4;margin:5px 0}.reveal-final .reveal-task{font-size:var(--t2)!important;line-height:1.4;margin:0}.reveal-final .reveal-challenge{font-size:var(--t2)!important;margin:4px 0;padding:5px 0 0;border-color:#11130f}.reveal-final .reveal-disclaimer{font-size:var(--t1)!important;color:#11130f;line-height:1.4;margin:0}
.population-slide.on{display:flex;flex-direction:column;gap:8px}.population-heading .population-kicker{font-size:var(--t1)!important}.population-heading h2{font-size:var(--t4)!important;margin:0;line-height:1.2}.population-heading strong{font-size:var(--t6)!important}.population-heading p{font-size:var(--t1)!important}.population-visual{display:flex;flex-direction:column;flex:1;min-height:0;gap:5px}.population-visual h3{font-size:var(--t3)!important}.population-visual p{font-size:var(--t1)!important;margin:0}.population-visual canvas{display:block;width:100%;height:100%;flex:1;min-height:0;object-fit:fill}.population-legend{font-size:var(--t1)!important;gap:7px}.population-legend span{display:flex;align-items:center;gap:6px}.population-source{line-height:1.4}.legend-green{background:#77a957}.legend-red{background:#ed4b2f}
.learning-card strong{font-size:var(--t3)!important}.learning-card p{font-size:var(--t2)!important}.learning-close{font-size:var(--t3)!important}.poster-sheet h2{font-size:var(--t4)!important}
@media(max-width:720px){.top{padding-left:10px;padding-right:10px}.intro{padding:12px 16px}.screen.on{padding:6px}.result-slide{padding:10px}.result-slide .slide-title h2{font-size:var(--t4)!important}.result-slide .slide-title small{display:none}.result-slide .card{padding:10px;margin-bottom:6px}.result-slide[data-result-slide="1"] .tag{padding:7px 2px}.result-slide[data-result-slide="2"] .axis-card{padding:10px}.result-slide[data-result-slide="2"] .bars{gap:18px}.result-slide[data-result-slide="3"] .steps li{margin:6px 0;padding:3px 0}.reveal-final{padding:12px!important}.result-actions{padding:7px 10px calc(7px + env(safe-area-inset-bottom))}.onboarding-panel{padding:10px;gap:6px}.onboarding-grid{gap:4px}.context-choice{gap:1px;padding:4px 6px}}
@media(max-width:720px) and (max-height:740px){.intro h1{line-height:1;margin:4px 0}.intro .lead{margin:5px 0 8px}.tile-label{padding:3px 1px}.tile-label small{display:none!important}.quiz .meta{margin:6px 0 4px}.quiz .question{margin-bottom:7px}.quiz .hint{margin-bottom:6px}.quiz .choices{gap:5px}.quiz .choice{min-height:44px;padding:7px!important}.quiz .goalgrid .choice{padding:6px!important;min-height:44px}#bonusWish{height:52px;min-height:52px}.result-slide[data-result-slide="0"] .hero{padding:8px 12px;gap:5px}.result-slide[data-result-slide="0"] .hero .sub{font-size:var(--t2)!important;margin:5px 0}.portrait-caption{padding:4px}.slide-pad{padding:7px!important}.result-slide[data-result-slide="2"] .bars{gap:12px}.reveal-final .reveal-strength{font-size:var(--t2)!important;margin:4px 0}.reveal-final .reveal-position{padding:6px 10px}.reveal-final .reveal-challenge,.reveal-final .reveal-disclaimer{display:none}.result-actions.is-final{gap:4px}.result-actions.is-final .ios-btn{height:40px;min-height:40px}.result-head{height:32px}.result-shell{grid-template-rows:32px minmax(0,1fr) auto auto}.onboarding-panel header p{margin:1px 0}.onboarding-panel h2{margin:2px 0}}
/* Accessibility: enlarged system text may scroll rather than becoming clipped. */
.population-visual canvas{height:auto;aspect-ratio:5/4;flex:none;object-fit:contain}
.result-slide[data-result-slide="0"] .hero,.result-slide[data-result-slide="0"] .hero .sub,.result-slide[data-result-slide="0"] .hero .code{color:var(--hero-ink,#fffdf7)}
.quiz .goalgrid .choice{grid-template-columns:24px minmax(0,1fr);gap:4px;padding:6px!important}.quiz .goalgrid .choice b{width:24px;height:24px}
@media(max-height:560px){html,body{overflow:auto!important;height:auto!important}main,.screen.on,.screen.on>.panel{height:auto!important;min-height:100dvh}.result-deck,.result-slide{overflow:visible}.result-slide[data-result-slide="0"] .portrait{min-height:180px}.result-slide[data-result-slide="0"] .portrait img{height:180px}.population-visual canvas{height:300px;flex:none}}

/* Final mobile polish: the brand is one lockup, portrait notes are badges, and every result card keeps a clear hierarchy. */
.top b{font-family:var(--sans)!important;font-size:var(--t3)!important;letter-spacing:.02em!important}.top b::first-letter{font-family:var(--sans)!important}
.portrait-caption{width:auto;max-width:88%;margin:-8px auto 8px;border:2px solid #11130f;border-radius:999px;background:#fffdf7;color:#11130f;padding:5px 9px;box-shadow:2px 2px 0 #11130f}.portrait-caption br{display:none}.portrait-caption b::after{content:' · ';font-weight:400}.portrait-caption b{font-weight:800}
.result-slide[data-result-slide="1"] .profile{display:flex;flex-direction:column;justify-content:flex-start;min-height:0}.result-slide[data-result-slide="1"] .profile p{margin:0}.result-slide[data-result-slide="1"] .card h3{display:flex;align-items:center;gap:8px}.result-slide[data-result-slide="1"] .card h3 .section-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;margin:0;width:28px;height:28px}
.population-slide.on{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px}.population-visual{min-height:0}.population-visual canvas{width:100%;height:100%;min-height:0;aspect-ratio:auto;flex:1}.population-legend{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.population-legend span{white-space:nowrap}.population-source{margin:0}
.reveal-final{color:var(--hero-ink,#11130f)!important}.reveal-final .reveal-position{background:#fffdf7;color:#11130f;border:2px solid #11130f;box-shadow:3px 3px 0 #11130f}.reveal-final .reveal-upgrade,.reveal-final .reveal-task,.reveal-final .reveal-challenge,.reveal-final .reveal-disclaimer{color:inherit!important}.reveal-final .reveal-task{font-weight:650}.reveal-final .reveal-challenge{border-top-color:currentColor}
.result-actions .ios-btn{justify-content:center}.result-actions .secondary{border:2px solid #11130f}.quiz .nav .back{border:2px solid #11130f;border-radius:14px;padding:0 12px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;background:#fffdf7}.quiz .nav #skipBonus{margin-left:auto}
@media(max-width:720px){.top{gap:7px}.top b{font-size:20px!important}.top small{font-size:14px!important}.population-slide{padding:10px!important}.population-heading h2{font-size:28px!important}.population-heading strong{font-size:48px!important}.population-legend{font-size:12px!important}.population-source{font-size:12px!important}.portrait-caption{font-size:12px!important;line-height:1.25;white-space:nowrap}.result-slide[data-result-slide="1"] .profile{min-height:0;padding:14px}.result-slide[data-result-slide="1"] .profile p{font-size:16px!important;line-height:1.5!important}.result-slide[data-result-slide="1"] .card h3{font-size:18px!important}.reveal-final>div:not([hidden]){grid-template-columns:minmax(0,1fr) 36%;gap:7px 10px}.reveal-final .reveal-name{font-size:28px!important}.reveal-final .reveal-code{font-size:24px!important}.reveal-final .reveal-strength{font-size:16px!important}.reveal-final .reveal-position strong{font-size:38px!important}}

/* v19: cover labels no longer cover the portrait; poster/result use the pixel map instead of large white cards. */
.reveal-final .reveal-position{background:transparent;color:inherit;border-color:currentColor;box-shadow:none;border-left-width:7px}.reveal-final .reveal-position>span,.reveal-final .reveal-position small{color:inherit}.reveal-final .reveal-position strong{font-size:var(--t6)!important}
@media(max-width:720px){.top{justify-content:flex-start}.top b,.top small{font-family:var(--sans)!important;font-weight:800!important;letter-spacing:.015em!important;color:#173f35}.top b{font-size:19px!important}.top small{font-size:12px!important;overflow:hidden;text-overflow:ellipsis}.wall .tile-label{top:6px;bottom:auto;left:6px;right:6px;display:flex;align-items:center;justify-content:flex-start;gap:4px;pointer-events:none}.tile-label span{font-size:12px!important;line-height:1.1;white-space:nowrap;padding:3px 5px!important}.tile-label small{display:inline!important;background:rgba(255,253,247,.9);border:1.5px solid var(--ink);padding:3px 5px;font-size:11px!important;line-height:1.1;white-space:nowrap}.face img{object-position:center 48%!important}.reveal-final .reveal-position{padding:8px 10px}.reveal-final .reveal-position strong{font-size:42px!important}.result-slide[data-result-slide="3"] .next{min-height:0}.result-slide[data-result-slide="3"] .steps{font-size:15px!important;line-height:1.48!important}.result-slide[data-result-slide="3"] .tool{min-height:70px;display:flex;flex-direction:column;justify-content:center}.result-slide[data-result-slide="3"] .tool small{font-size:12px!important}.result-slide[data-result-slide="3"] .tool .term-label{font-size:16px!important;font-weight:800}.result-slide[data-result-slide="1"] .profile p{font-size:17px!important;line-height:1.55!important}.result-slide[data-result-slide="1"] .tags{margin-top:4px}.result-slide[data-result-slide="1"] #missing{font-size:16px!important;line-height:1.5!important}}

/* v20: one brand lockup and a denser, deliberately framed second result page. */
.top{justify-content:flex-start!important;gap:14px}.top b,.top small{font-family:var(--sans)!important;font-weight:800!important;letter-spacing:.02em!important;color:#173f35!important;font-size:var(--t3)!important;line-height:1!important}.top small{font-weight:900!important}
.result-slide[data-result-slide="1"]{display:none}.result-slide[data-result-slide="1"].on{display:grid;grid-template-rows:auto minmax(0,1fr) auto auto;gap:8px}.result-slide[data-result-slide="1"] .slide-title{margin:0}.result-slide[data-result-slide="1"] .profile{border-width:3px;box-shadow:5px 5px 0 var(--ink);padding:16px}.result-slide[data-result-slide="1"] .profile p{font-size:var(--t2)!important;line-height:1.52!important}.result-slide[data-result-slide="1"] .profile strong{font-size:var(--t3)!important;line-height:1.35}.result-slide[data-result-slide="1"] .profile b{font-weight:900;color:var(--family)}.result-slide[data-result-slide="1"] .card{margin:0}.result-slide[data-result-slide="1"] .tags{display:grid;grid-template-columns:repeat(3,1fr)}.result-slide[data-result-slide="1"] .tag{text-align:center;padding:6px 3px;font-weight:800;background:var(--family2)}
@media(max-width:720px){.top{gap:10px}.top b,.top small{font-size:18px!important;white-space:nowrap}.top small{overflow:visible;text-overflow:clip}.result-slide[data-result-slide="1"].on{gap:7px}.result-slide[data-result-slide="1"] .profile{padding:13px}.result-slide[data-result-slide="1"] .profile p{font-size:15px!important;line-height:1.45!important}.result-slide[data-result-slide="1"] .profile strong{font-size:18px!important}.result-slide[data-result-slide="1"] #missing{font-size:14px!important;line-height:1.42!important}.result-slide[data-result-slide="1"] .card h3{font-size:17px!important}.result-slide[data-result-slide="1"] .tag{font-size:11px!important}}

/* Touch devices retain :hover after a tap. A yellow answer must therefore mean
   exactly one thing: this question has an actual selected answer. */
.quiz .choice:hover{background:#fffdf7}
.quiz .choice.sel{background:#f6d866}
@media(hover:hover) and (pointer:fine){.quiz .choice:hover{background:#f6d866}}

/* SACT position rails: both ends are choices; the triangle is the current tendency. */
.result-slide[data-result-slide="2"] .bars{gap:28px}.result-slide[data-result-slide="2"] .bar.axis-position{position:relative;height:14px;background:#ecece7;overflow:visible}.result-slide[data-result-slide="2"] .bar.axis-position::before{content:"";position:absolute;left:50%;top:-4px;bottom:-4px;width:2px;background:#69716b}.result-slide[data-result-slide="2"] .bar.axis-position .axis-marker{position:absolute;top:50%;width:0;height:0;margin:0;transform:translate(-50%,-50%);background:transparent;border-left:9px solid transparent;border-right:9px solid transparent;border-bottom:14px solid var(--family);filter:drop-shadow(1px 1px 0 #11130f)}
.result-slide[data-result-slide="1"] .profile p{line-height:1.62!important;margin-bottom:10px!important}
@media(max-width:720px){.result-slide[data-result-slide="2"] .bars{gap:25px}.result-slide[data-result-slide="2"] .barrow{grid-template-columns:82px minmax(0,1fr) 82px}.result-slide[data-result-slide="2"] .bar.axis-position{height:15px}}

/* Fifth page: graph first, explanation second, legend last. */
.population-slide.on{grid-template-rows:auto minmax(0,1fr) auto auto auto!important;gap:10px!important}.population-heading{text-align:center}.population-heading h2{margin:0!important}.population-heading #populationStanding{font-size:var(--t2)!important;color:#173f35;font-weight:750}.population-visual{display:block!important;min-height:0!important}.population-visual canvas{width:100%;height:100%;min-height:0!important;object-fit:contain!important}.population-marker-note{display:flex;flex-direction:column;align-items:center;gap:2px;padding:8px 10px;border:2px solid var(--ink);background:#fffdf7;text-align:center}.population-marker-note b{font-size:var(--t3)!important;color:#405ba9}.population-marker-note span{font-size:var(--t1)!important;line-height:1.35}.population-legend span{grid-template-columns:12px 1fr!important}.population-legend b{display:none}.population-source{text-align:center!important;font-size:var(--t1)!important}
@media(max-width:720px){.population-slide.on{padding:10px!important;gap:8px!important}.population-heading h2{font-size:24px!important}.population-heading #populationStanding{font-size:14px!important}.population-marker-note{padding:6px 8px}.population-marker-note b{font-size:16px!important}.population-marker-note span{font-size:12px!important}.population-legend{font-size:12px!important}}

/* The fourth page ends with a concrete WEI SPACE conversion card, not a vague slogan. */
.result-slide[data-result-slide="3"] .next{gap:10px}.result-slide[data-result-slide="3"] .wei-next-card{margin-top:auto;background:#173f35;color:#fffdf7;border:3px solid #11130f;box-shadow:5px 5px 0 #11130f;padding:14px 16px}.wei-next-card .wei-next-kicker{font-size:var(--t1)!important;color:#f4bd3c;margin:0 0 4px;font-weight:800}.wei-next-card h3{font-size:var(--t3)!important;line-height:1.3;margin:0 0 6px}.wei-next-card p:not(.wei-next-kicker){font-size:var(--t2)!important;line-height:1.46;margin:0}.wei-next-cta{width:100%;margin-top:10px;border:0;border-radius:0;background:#f4bd3c;color:#11130f;padding:10px 12px;font-size:var(--t2)!important;font-weight:900;box-shadow:none}
@media(max-width:720px){.result-slide[data-result-slide="3"] .next{gap:7px}.result-slide[data-result-slide="3"] .steps{font-size:13px!important;line-height:1.35!important}.result-slide[data-result-slide="3"] .steps li{padding:1px 0;margin:3px 0}.result-slide[data-result-slide="3"] .wei-next-card{padding:10px 11px;border-width:2px;box-shadow:3px 3px 0 #11130f}.wei-next-card h3{font-size:17px!important;margin-bottom:4px}.wei-next-card p:not(.wei-next-kicker){font-size:13px!important;line-height:1.36}.wei-next-card .wei-next-kicker{font-size:11px!important}.wei-next-cta{font-size:14px!important;margin-top:7px;padding:8px}}

/* Responsive release fix: allow long Chinese copy and form fields to grow on small screens. */
.top .pixel,.top .pixel b,.top small{font-family:var(--sans)!important;font-weight:800!important;color:#173f35!important;letter-spacing:.02em!important}
.top .pixel{font-size:var(--t3)!important;line-height:1!important;white-space:nowrap}
.top .pixel b{font-size:inherit!important}
.result-head{gap:12px}.result-head #resultPager{margin-left:auto;white-space:nowrap}
.score-card>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-width:0}.score-card .stage{white-space:nowrap}.score-card .rank{margin:0;min-width:0}
@media(max-width:720px){
 html,body{height:auto!important;min-height:100%;overflow-x:hidden!important;overflow-y:auto!important}
 body{min-height:100dvh;overscroll-behavior:auto}
 main{height:auto!important;min-height:calc(100dvh - 46px - env(safe-area-inset-top));padding-bottom:calc(12px + env(safe-area-inset-bottom))}
 .screen.on{height:auto!important;min-height:calc(100dvh - 46px - env(safe-area-inset-top));padding:8px}
 .screen.on>.panel{height:auto!important;min-height:calc(100dvh - 62px - env(safe-area-inset-top));overflow:visible!important}
 .quiz{height:auto!important;min-height:calc(100dvh - 62px - env(safe-area-inset-top));overflow:visible!important}
 .onboarding-panel{height:auto!important;min-height:calc(100dvh - 62px - env(safe-area-inset-top));overflow:visible!important}
 .onboarding-grid{flex:none;grid-auto-rows:minmax(58px,auto)}
 .result-shell{height:auto!important;min-height:calc(100dvh - 62px - env(safe-area-inset-top));display:flex;flex-direction:column;overflow:visible!important}
 .result-deck{flex:none;min-height:0;overflow:visible!important}
 .result-slide,.result-slide.on{height:auto!important;min-height:calc(100dvh - 154px - env(safe-area-inset-top));overflow:visible!important}
 .result-slide[data-result-slide="0"].on{display:flex;flex-direction:column}
 .result-slide[data-result-slide="0"] .hero{height:auto!important;min-height:0;display:flex;flex-direction:column;gap:10px;padding:16px 14px}
 .result-slide[data-result-slide="0"] .portrait{height:auto;min-height:180px;max-height:none;overflow:visible}
 .result-slide[data-result-slide="0"] .portrait img{height:auto;min-height:180px;max-height:42dvh;flex:none;object-fit:contain}
 .result-slide[data-result-slide="0"] .portrait-caption{margin:0 auto 4px}
 .result-slide[data-result-slide="1"].on,.result-slide[data-result-slide="2"].on,.result-slide[data-result-slide="3"].on,.population-slide.on{display:flex;flex-direction:column;min-height:0}
 .result-slide[data-result-slide="1"] .profile,.result-slide[data-result-slide="2"] .axis-card,.result-slide[data-result-slide="3"] .next{flex:none;min-height:0}
 .result-actions{position:static;flex:none}
 .score-card>div:last-child{flex-wrap:wrap;justify-content:flex-start;gap:4px 10px}.score-card .rank{flex:1 1 100%}
 #bonusWish,.practice textarea{width:100%!important;max-width:100%;min-height:88px;height:auto;resize:vertical;overflow:auto;display:block;font-size:16px!important;line-height:1.5!important;padding:10px!important}
 .practice{overflow:visible!important}
 .population-visual{flex:none;min-height:0!important}
 .population-visual canvas{height:auto!important;aspect-ratio:5/4;max-height:none;flex:none}
}
@media(max-width:720px) and (max-height:700px){
 html,body{overflow-y:auto!important;height:auto!important}
 .screen.on,.screen.on>.panel,.quiz,.onboarding-panel{min-height:calc(100dvh - 58px - env(safe-area-inset-top));height:auto!important}
 .result-slide,.result-slide.on{min-height:calc(100dvh - 150px - env(safe-area-inset-top));height:auto!important}
}

/* Keep the stage label centered against the full rank block for every personality. */
.score-card>div:last-child{display:grid!important;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:12px;text-align:left}
.score-card .stage{grid-column:1;grid-row:1;align-self:center}
.score-card .rank{grid-column:2;grid-row:1;align-self:center;margin:0;text-align:right}
@media(max-width:720px){
 .score-card>div:last-child{grid-template-columns:auto minmax(0,1fr);column-gap:10px;row-gap:0}
 .score-card .rank{flex:none}
}
