/* World destinations share the dark choice cards and retain live progress. */
.world-overview {position:absolute;top:12px;left:24px;right:calc(var(--decision-width,340px) + 48px);z-index:12;max-width:740px;padding-bottom:12px;}
.world-overview::before {content:"";position:absolute;inset:-16px -24px -20px;z-index:-1;pointer-events:none;background:linear-gradient(#050b13ed 45%,#050b13b8 76%,transparent);}
.world-goals {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-items:stretch;}
.world-goal .requirement-steps {display:flex;gap:3px;height:3px;margin-top:4px;}
.world-goal .requirement-steps>i {flex:1;background:var(--border-strong);border-radius:2px;}
.world-goal .requirement-steps>i.met {background:var(--accent);}
.world-goal-requirements {list-style:none;padding:0;display:grid;gap:8px;font-size:var(--text-meta);}
/* Compact resource totals; tap or hover for the names and explanations. */
.headline-metrics .header-world-users,.phone-resources .header-world-users {position:relative;display:flex;grid-template-columns:none;grid-template-rows:none;flex:0 0 auto;width:auto;align-items:center;min-width:0;min-height:40px;line-height:1.3;white-space:nowrap;cursor:pointer;}
.header-world-users .world-users-values {display:flex;gap:10px;align-items:baseline;}
#simulation .header-world-users .world-users-values>.you,#simulation .header-world-users .resource-tooltip .you {color:var(--player);}
#simulation .header-world-users .world-users-values>.rival,#simulation .header-world-users .resource-tooltip .rival {color:var(--rival);}
.header-world-users .world-users-values>b {font-size:18px;font-weight:600;}
.headline-metrics .metric {display:flex;align-items:center;flex-wrap:nowrap;gap:5px;min-height:40px;}
@media(max-width:700px),(pointer:coarse) and (max-height:500px) {
 .art-phone .world-overview {top:10px;left:12px;right:12px;max-width:none;z-index:7;padding-bottom:10px;}
 .world-goals {gap:8px;}
 .art-phone.panel-open .world-overview {visibility:visible;}
 .phone-game.sidebar-phone>.phone-resources {display:flex;justify-content:space-between;gap:8px;padding:0 12px 6px;align-items:center;}
 .sidebar-phone .phone-stat {display:flex;align-items:center;gap:4px;min-height:34px;min-width:0;}
 .sidebar-phone .phone-stat>.resource-icon {width:14px;height:14px;flex:none;}
 .sidebar-phone .phone-stat>strong {font-size:18px;line-height:1.3;}
 .sidebar-phone .phone-stat>small {font-size:var(--text-meta);line-height:1.4;white-space:nowrap;}
 .phone-resources .header-world-users {min-height:34px;}
 .phone-resources .header-world-users .world-users-values {gap:6px;}
 .phone-resources .header-world-users .world-users-values>b {font-size:18px;}
}
@media(max-width:360px) {
 .phone-game.sidebar-phone>.phone-resources {gap:6px;padding-left:10px;padding-right:10px;}
 .sidebar-phone .phone-stat {gap:3px;}
 .sidebar-phone .phone-stat>strong {font-size:16px;}
 .sidebar-phone .phone-stat>.resource-icon {width:12px;height:12px;}
 .phone-resources .header-world-users .world-users-values {gap:4px;}
 .phone-resources .header-world-users .world-users-values>b {font-size:16px;}
}
@media(min-width:701px) and (max-height:500px) and (pointer:coarse) {
 .art-phone .world-overview {top:6px;right:calc(var(--decision-width) + 24px);padding-bottom:4px;}
}
.phone-menu-mark {display:inline-flex;align-items:center;justify-content:center;align-self:center;line-height:1;height:18px;width:18px;}
.phone-menu-mark svg {display:block;width:16px;height:16px;}


/* Both destinations remain equal-width, including narrow phones. */
body.strategy-game .world-goal {display:flex;align-items:center;gap:12px;width:100%;min-width:0;min-height:82px;margin:0;padding:16px;text-align:left;color:var(--fg);background:var(--surface);border:1px solid var(--border-subtle);border-radius:12px;box-shadow:none;}
body.strategy-game .world-goal:hover {background:var(--surface-raised);border-color:var(--border-strong);}
.world-goal .decision-label strong {overflow-wrap:normal;}
.world-goal .decision-label small {display:block;}
@media(max-width:700px),(pointer:coarse) and (max-height:500px) {
 body.strategy-game .world-goal {gap:6px;min-height:82px;padding:12px;}
 .world-goal .decision-label strong {font-size:16px;}
 .world-goal .decision-label small {font-size:var(--text-meta);}
}
@media(max-width:360px) {body.strategy-game .world-goal {padding:10px;gap:4px;}.world-goal .decision-label strong {font-size:16px;}}

.headline-metrics .metric>b,.headline-metrics .world-users-values>b {font-size:18px;line-height:1.3;font-weight:600;}

/* The wordmark and resource totals use the same type treatment. */
body.strategy-game {--headline-number-size:18px;}
#cinema .film-wordmark,#simulation .game-header :is(.desktop-brand,.phone-brand),#simulation .desktop-brand>b {
 font-family:var(--font-sans);font-size:var(--headline-number-size);font-weight:600;line-height:1.3;letter-spacing:normal;
}
#simulation .headline-metrics .metric>b,#simulation .phone-stat>strong,#simulation .world-users-values>b {font-size:var(--headline-number-size);font-weight:600;line-height:1.3;letter-spacing:normal;}
@media(max-width:360px) {body.strategy-game {--headline-number-size:16px;}}

/* Keep the opening wordmark in the same place and at the same scale as play. */
#cinema .cinema-top {height:58px;padding:0 18px;}
#cinema .film-wordmark {display:flex;align-items:center;gap:8px;min-height:44px;white-space:nowrap;}
#cinema .film-wordmark>img {width:20px;height:20px;flex:none;}
@media(max-width:700px),(pointer:coarse) and (max-height:500px) {
 #cinema .cinema-top {height:50px;padding-left:16px;padding-right:16px;}
 #cinema .film-wordmark {gap:6px;}
 #cinema .film-wordmark>img {width:18px;height:18px;}
}
@media(max-width:700px) and (max-height:650px),(pointer:coarse) and (max-height:500px) {
 #cinema .cinema-top {height:44px;}
}
@media(max-width:350px) {#cinema .cinema-top {padding-left:12px;padding-right:12px;}}

/* One unboxed city marker on phone and desktop, with copies beside its name. */
#simulation .world-label {min-width:0!important;min-height:44px!important;width:160px!important;max-width:none!important;height:auto!important;padding:5px 2px!important;border:0!important;border-radius:0!important;background:none!important;box-shadow:none!important;text-shadow:0 1px 3px #020810,0 0 8px #020810,0 0 14px #020810;white-space:normal;}
#simulation .world-label>.map-caption-content {display:block!important;padding:0;background:none;}
#simulation .world-label .map-name-row {display:flex;flex-direction:row;justify-content:center;align-items:center;gap:4px;font-size:var(--text-meta);line-height:1.3;white-space:normal;}
#simulation .world-label .map-name-row>span:first-child {min-width:0;}
#simulation .world-label .map-status-icons {position:static;display:inline-flex;align-items:center;flex:none;gap:2px;background:none;}
#simulation .world-label .map-status-icon {width:1.1em;height:1.1em;flex:none;}
#simulation .world-label :is(.map-adoption,.resident-figures,.alert-label) {display:none!important;}
#simulation .world-label .map-phone-facts {display:flex!important;justify-content:center;gap:8px;font-size:var(--text-meta);line-height:1.4;font-weight:600;margin-top:2px;}
#simulation .world-label .map-work-state {display:block!important;font-size:var(--text-meta);line-height:1.4;color:var(--player);padding:0;margin:0;background:none;}
#simulation .world-label .map-work-state.at-risk {color:var(--danger-fg);}
#simulation .world-label::before {display:none;}
#simulation .map-key {position:absolute;z-index:10;display:flex;align-items:center;gap:12px;bottom:16px;left:24px;right:auto;font-size:var(--text-meta);line-height:1.4;pointer-events:none;text-shadow:0 1px 3px #020810,0 0 8px #020810;}
#simulation .map-key-group {display:flex;align-items:center;gap:14px;}
#simulation .map-key-group>span {display:inline-flex;align-items:center;gap:5px;}
#simulation .map-key i {display:block;width:8px;height:8px;margin:0;border-radius:50%;}
#simulation .map-key svg {width:18px;height:18px;}
@media(max-width:700px),(pointer:coarse) and (max-height:500px) {
 #simulation .world-label {width:calc((100vw - 24px) / 3)!important;max-width:160px!important;}
 #simulation .map-key {left:12px;bottom:90px;}
}
@media(min-width:701px) and (pointer:coarse) and (max-height:500px) {
 #simulation .world-label {width:130px!important;}
 #simulation .map-key {bottom:12px;}
}

/* Desktop supporting text has room to breathe; phone details retain a 14px floor. */

#cinema .cinema-kicker,#cinema .title-credit {font-size:var(--text-meta);}
