.kth-language-switch{display:inline-flex;align-items:center;gap:2px;padding:3px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(20,20,22,.88);flex:0 0 auto;white-space:nowrap;z-index:50}
.kth-language-switch{max-width:min(100%,330px);overflow-x:auto;scrollbar-width:none}
.kth-language-switch::-webkit-scrollbar{display:none}
.kth-language-switch button{border:0;border-radius:999px;background:transparent;color:#aaa;font:600 11px/1.2 -apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo",sans-serif;min-height:29px;padding:7px 9px;cursor:pointer}
.kth-language-switch button[aria-pressed="true"]{background:#f5f5f7;color:#111}
.kth-language-switch button:focus-visible{outline:2px solid #2997ff;outline-offset:3px}
.top>.kth-language-switch,.legal-top>.kth-language-switch,.topbar>.kth-language-switch{margin-left:auto}
.topbar>.kth-language-switch{margin-left:6px}
dialog .kth-language-switch{position:relative;right:auto;top:auto;margin-left:auto;z-index:100}
@media(max-width:760px){.kth-language-switch button{min-height:28px;padding:6px 7px;font-size:10px}.top>.kth-language-switch{margin-left:auto}.top .scan-cta{display:none}.topbar>.kth-language-switch{position:fixed;right:12px;top:12px}}
html[lang="en"] .product-heading h1{font-size:clamp(39px,4.8vw,62px);letter-spacing:-.04em}
html[lang="en"] .section-title h2{font-size:clamp(37px,4.5vw,59px)}
html[lang="en"] .intro-copy h1{font-size:clamp(31px,4vw,46px)}
html[lang="en"] .product-subline p{font-size:clamp(17px,1.7vw,21px)}
html[lang="en"] .hero-copy h1,html[lang="en"] .hero-content h1{font-size:clamp(39px,5vw,68px)}
@media(max-width:760px){html[lang="en"] .product-heading h1{font-size:clamp(34px,8.5vw,49px)}html[lang="en"] .section-title h2{font-size:clamp(32px,8vw,43px)}}

/* Han characters need their full glyph width; the Korean/Latin display tracking collides in Chinese. */
html[lang="zh-CN"] body{font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Noto Sans CJK SC","Microsoft YaHei",sans-serif}
html[lang="zh-CN"] :is(h1,h2,h3,h4){letter-spacing:0;line-height:1.3}
html[lang="zh-CN"] :is(.eyebrow,.setup-kicker,.release-goal small,.setup-header){letter-spacing:.04em}
html[lang="zh-CN"] .hero-lead,html[lang="zh-CN"] .lead{letter-spacing:0;line-height:1.7}
html[lang="zh-CN"] .hero h1 em{letter-spacing:0;line-height:1.4}
html[lang="zh-CN"] .hero[aria-labelledby="hero-title"] h1{font-size:clamp(42px,3.8vw,56px);max-width:610px;word-break:normal;overflow-wrap:anywhere}
html[lang="zh-CN"] .next-place strong,html[lang="zh-CN"] .release-goal strong,html[lang="zh-CN"] .setup-goal strong,html[lang="zh-CN"] .game-assistant>strong{letter-spacing:0;line-height:1.4}
html[lang="zh-CN"] .guide-copy .guide-description,html[lang="zh-CN"] .setup-story,html[lang="zh-CN"] .game-assistant>p{line-height:1.75;word-break:normal}
html[lang="zh-CN"] .journey-guide h2{letter-spacing:0;line-height:1.4;word-break:normal}
html:is([lang="es"],[lang="pt-BR"]) :is(h1,h2,h3,h4){letter-spacing:-.025em;line-height:1.17;overflow-wrap:break-word}
html:is([lang="es"],[lang="pt-BR"]) .hero[aria-labelledby="hero-title"] h1{font-size:clamp(38px,3.7vw,56px);max-width:600px;word-break:normal}
html:is([lang="es"],[lang="pt-BR"]) :is(.hero-lead,.lead,.guide-copy .guide-description,.setup-story,.game-assistant>p){line-height:1.65;word-break:normal}
html:is([lang="es"],[lang="pt-BR"])[data-premium] .start-setup h2{font-size:clamp(35px,4vw,54px);line-height:1.15}
html:is([lang="es"],[lang="pt-BR"])[data-premium] .journey-guide h2{font-size:clamp(30px,4vw,50px);line-height:1.2}
html:is([lang="es"],[lang="pt-BR"]) .game-assistant>strong{font-size:clamp(18px,2.2vw,25px);line-height:1.3}
html[lang="zh-CN"][data-premium] .start-setup h2{letter-spacing:0;line-height:1.3}
html[lang="zh-CN"][data-premium] .journey-guide h2{letter-spacing:0;line-height:1.4}
html[lang="zh-CN"][data-premium] .release-goal strong{letter-spacing:0;line-height:1.4}
html[lang="zh-CN"][data-premium] .character-picker h2{letter-spacing:0;line-height:1.35}
@media(max-width:760px){
 html[lang="zh-CN"] .topbar>.kth-language-switch{position:static;order:1;margin-left:auto}
 html[lang="zh-CN"] .topbar>.header-tools{order:2;flex:1 1 100%;justify-content:center}
 html[lang="zh-CN"] .topbar>.turn-status{order:3}
 html:is([lang="es"],[lang="pt-BR"]) .topbar>.kth-language-switch{position:static;order:1;margin-left:auto}
 html:is([lang="es"],[lang="pt-BR"]) .topbar>.header-tools{order:2;flex:1 1 100%;justify-content:center}
 html:is([lang="es"],[lang="pt-BR"]) .topbar>.turn-status{order:3}
 html[lang="zh-CN"][data-premium] .start-setup h2{font-size:clamp(34px,9vw,42px);line-height:1.3}
 html[lang="zh-CN"] .setup-goal>span{min-width:0}
 html[lang="zh-CN"] .setup-goal strong{font-size:20px}
 html[lang="zh-CN"] .setup-story{font-size:12px!important;line-height:1.6!important}
 html:is([lang="es"],[lang="pt-BR"])[data-premium] .start-setup h2{font-size:clamp(32px,8vw,42px)}
 html:is([lang="es"],[lang="pt-BR"]) .setup-story{font-size:12px!important;line-height:1.55!important}
}

/* Keep controls legible when five languages share a narrow header. */
@media(max-width:760px){
 .setup-header{flex-wrap:wrap;gap:12px;align-items:center}
 .setup-header>.kth-language-switch{margin-left:auto}
 .setup-header>span{order:3;flex:1 1 100%;letter-spacing:.04em;line-height:1.5}
 .topbar>.kth-language-switch{position:static;order:1;margin-left:auto}
 .topbar>.header-tools{order:2;flex:1 1 100%;justify-content:center}
 .topbar>.turn-status{order:3}
 .mobile-nav a{flex-direction:column;gap:3px;font-size:10px;line-height:1.25;text-align:center;min-width:0;overflow-wrap:break-word}
 .mobile-nav a>span{font-size:18px}
 .kth-language-switch button{min-height:32px}
}
@media(max-width:359px){
 .top{padding-inline:10px;gap:6px}
 .top .brand img{width:72px}
 .kth-language-switch button{padding-inline:5px}
 .setup-header>.kth-language-switch{margin-left:0}
 .setup-header{column-gap:6px}
}

@media(max-width:760px){
 .mobile-nav a>small{font-size:inherit;line-height:inherit}
 .legal-top{flex-wrap:wrap;height:auto;min-height:64px;gap:10px;padding-block:10px}
}
@media(max-width:760px){
 .player-control{flex-wrap:wrap;gap:10px;max-width:100%}
 .player-control>div{max-width:100%;flex-wrap:wrap}
 .player-control button{padding-inline:11px}
 .featured-goal,.featured-goal>div{min-width:0}
 .goal-numbers>div{min-width:0;flex:1}
 .goal-numbers span{white-space:normal;line-height:1.4}
 .owned-demo .cost-ledger{grid-template-columns:repeat(3,minmax(0,1fr))}
 .owned-demo .cost-ledger b{white-space:normal;line-height:1.4}
}
@media(max-width:480px){.top>.play-cta{display:none}}
