/* Every territory: names and characters lead; numbers remain quiet references. */
#game[data-room] .station-marker .pin{
 width:27px;height:27px;font-size:10px;
 box-shadow:0 0 0 3px #05191633,0 3px 15px #0004;
}
#game[data-room] .station-marker.current .pin{
 box-shadow:0 0 0 3px #be9b592e,0 0 18px #ffdd8938;
}
#game[data-room] .station-marker .pin-label{
 font-size:14px;font-weight:600;line-height:1.2;letter-spacing:0;
 padding:5px 8px;margin-top:6px;max-width:220px;text-align:center;
}
#game[data-room] .station-marker:after{height:10px}
#game[data-room] .station-marker.viewed .pin:after{
 right:calc(50% - 21px);top:-3px;font-size:8px;padding:1px;
}
#game[data-room] .station-marker.opening-record .pin{
 width:54px;min-width:0;height:22px;padding:0 3px;
 border-radius:11px;font:500 10px/1 Arial,sans-serif;
}
#game[data-room] .station-marker.opening-record .pin-label{
 font-size:15px;padding:5px 9px;
}
#game[data-room] .station-marker.opening-record.viewed .pin:after{right:calc(50% - 32px)}
#game:is([data-room="texas"],[data-room="bridge"]) .station-marker.opening-record{
 min-height:36px;gap:6px;padding:4px 5px;
}
#game:is([data-room="texas"],[data-room="bridge"]) .station-marker.opening-record .pin{
 width:auto;min-width:30px;height:18px;padding:1px 3px;border-radius:3px;font-size:9px;
}
#game:is([data-room="texas"],[data-room="bridge"]) .station-marker.opening-record .pin-label{
 font-size:15px;margin:0;padding:3px 1px;
}
#game:is([data-room="texas"],[data-room="bridge"]) .station-marker.opening-record.viewed .pin:after{right:-4px}
#game[data-room] .station-marker.gate .pin{width:28px;height:28px;font-size:17px}
#game[data-room] .station-marker.gate .pin-label{font-size:13px;max-width:280px}
#game[data-room] .station-marker.quest .pin{width:27px;height:27px;font-size:13px}
#game[data-room] .station-marker:is(.echo,.trail) .pin{width:25px;height:25px;font-size:12px}
#game[data-room] .station-marker:is(.echo,.trail) .pin-label{font-size:12px;font-weight:400;max-width:180px}
#game[data-room] .station-marker.npc-marker .pin{
 width:19px;height:15px;min-width:0;font-size:10px;top:12px;right:0;
 box-shadow:0 2px 8px #04131044;
}
#game[data-room] .station-marker.npc-marker .pin-label{
 font-size:15px;line-height:1.2;font-weight:600;padding:5px 9px;
 top:-35px;margin:0;max-width:265px;
}
#game[data-room="texas"] .station-marker[data-npc="crystal-sun"] .pin{width:48px;font-size:9px}
#game[data-room="texas"] .station-marker[data-npc="crystal-sun"] .pin-label{font-size:15px}
#game[data-room] .station-marker.npc-marker[data-scribe] .pin{width:17px;height:14px;font-size:9px;top:0}
#game[data-room] .station-marker.npc-marker[data-roaming] .pin{width:17px;height:14px;font-size:9px}
/* The Library's seated scholar gets a desk-level name, clear of the top HUD. */
#game[data-room="library"] .station-marker[data-npc="library-scholar"] .pin-label{top:auto;bottom:-48px}
@media(max-width:650px){
 #game[data-room] .station-marker .pin-label{font-size:12px;max-width:165px;padding:4px 6px}
 #game[data-room] .station-marker.npc-marker .pin-label,
 #game[data-room] .station-marker.opening-record .pin-label{font-size:13px;max-width:210px}
}

/* Texas: three spaced character areas; references sit below faces. */
#game[data-room="texas"] .npc-marker[data-npc="g1-engineer"] .pin-label{display:block;font-size:15px}
#game[data-room="texas"] .npc-marker[data-npc="g2-engineer"] .pin{width:40px;font-size:9px;top:auto;bottom:-23px;right:50%;transform:translateX(50%)}
#game[data-room="texas"] .npc-marker[data-npc="crystal-sun"] .pin{top:auto;bottom:-23px;right:50%;transform:translateX(50%)}
#game[data-room="texas"] .npc-marker[data-npc="crystal-sun"] .pin-label{left:50%}
#game[data-room="texas"] .station-marker[data-id="inside-g1"] .pin-label{font-size:13px}

/* Original deck references stay small beside the expanded opening briefing. */
#game[data-room="archive"] .npc-marker[data-npc="archivist"] .pin{width:76px;height:17px;font-size:9px;top:auto;bottom:14px;right:50%;transform:translateX(50%)}
#game[data-room="archive"] .npc-marker[data-npc="archivist"] .pin-label{font-size:15px;top:auto;bottom:-30px}

/* Veronica is larger; her name sits beneath her feet, clear of the other banker. */
#game[data-room="bridge"] .npc-marker[data-npc="credit-banker"] .pin-label{top:auto;bottom:-35px;left:calc(50% - 118px)}

/* Citadel: actual page references are always visible; guides have no slide galleries. */
#game[data-room="citadel"] .station-marker[data-citadel="record"] .pin,
#game[data-room="citadel"] .station-marker[data-citadel="activity"] .pin{
 width:54px;height:21px;border-radius:10px;transform:none;font:500 10px/1 Arial,sans-serif;
}
#game[data-room="citadel"] .station-marker[data-citadel="activity"] .pin>span{transform:none}
#game[data-room="citadel"] .station-marker[data-citadel="record"] .pin-label,
#game[data-room="citadel"] .station-marker[data-citadel="activity"] .pin-label,
#game[data-room="citadel"] .station-marker[data-citadel="gate"] .pin-label{opacity:1}
#game[data-room="citadel"] .station-marker[data-citadel="activity"] .pin-label{font-size:13px;max-width:215px}
#game[data-room="citadel"] .station-marker.npc-marker[data-npc="patent-scholar"] .pin{
 top:auto;bottom:-20px;right:50%;transform:translateX(50%);height:17px;width:44px;font-size:9px;
}
#game[data-room="citadel"] .station-marker.npc-marker[data-npc="patent-scholar"] .pin-label{top:-30px}
#game[data-room="citadel"] .station-marker[data-citadel="guide"] .pin{
 width:38px;height:16px;border-radius:8px;font:500 9px/1 Arial,sans-serif;opacity:.9;
}
#game[data-room="citadel"] .station-marker[data-citadel="guide"] .pin-label{font-size:12px}
#game[data-room="citadel"] [data-scribe] .pin{right:-10px;top:-6px}

/* Workshop: one owner for 44 and one console for all four distinct supplements. */
#game[data-room="workshop"] .station-marker[data-workshop="record"] .pin-label{opacity:1}
#game[data-room="workshop"] .station-marker[data-id="kore-workbenches"] .pin{width:48px;height:20px;border-radius:9px;font-size:10px}
#game[data-room="workshop"] .station-marker.npc-marker[data-npc="storage-engineer"] .pin{top:auto;bottom:-20px;right:50%;transform:translateX(50%);width:27px;height:17px;font-size:10px}
#game[data-room="workshop"] .station-marker[data-workshop="demo"] .pin{display:none}
#game[data-room="workshop"] .station-marker[data-workshop="puzzle"] .pin{width:43px;height:20px;transform:none;border-radius:9px;font-size:9px}
#game[data-room="workshop"] .station-marker[data-workshop="puzzle"] .pin>span{transform:none}

/* Keep the two-card KORE reference below the engineer’s feet. */
#game[data-room="workshop"] [data-npc="storage-engineer"] .pin{width:54px;font-size:9px}

/* Northbound Passage: separate captain, navigator, embarkation and return labels. */
#game[data-room="voyage"] .station-marker:is(.echo,.quest,.gate) .pin-label{opacity:1}
#game[data-room="voyage"] [data-id="sail"] .pin-label{font-size:14px;white-space:nowrap}
#game[data-room="voyage"] [data-npc="fjord-captain"] .pin{top:auto;bottom:-16px;right:50%;transform:translateX(50%)}

/* Giga Arctic: page references stay small and clear of faces; titles remain visible. */
#game[data-room="arctic"] .station-marker[data-arctic] .pin-label{opacity:1}
#game[data-room="arctic"] .station-marker[data-arctic="record"] .pin{
 width:auto;min-width:40px;height:20px;padding:0 7px;border-radius:9px;
 font:500 10px/1 Arial,sans-serif;white-space:nowrap;
}
#game[data-room="arctic"] .station-marker.npc-marker[data-arctic="record"] .pin{
 top:auto;bottom:-25px;right:50%;transform:translateX(50%);height:19px;font-size:9px;
}
#game[data-room="arctic"] .station-marker.npc-marker[data-npc="astrid"] .pin-label{font-size:16px}
#game[data-room="arctic"] .station-marker[data-arctic="activity"] .pin{
 width:35px;height:19px;font:500 9px/1 Arial,sans-serif;border-radius:9px;
}
#game[data-room="arctic"] .station-marker[data-id="arctic-milestones"] .pin-label{max-width:180px;font-size:13px}
#game[data-room="arctic"] .station-marker[data-arctic="gate"] .pin-label{max-width:175px;font-size:12px;white-space:nowrap}
#game[data-room="arctic"] .station-marker[data-arctic="record"].viewed .pin:after{right:-7px}

/* GigaVaasa: two character hosts with small page references below their feet. */
#game[data-room="finland"] .station-marker[data-finland] .pin-label{opacity:1}
#game[data-room="finland"] .station-marker.npc-marker[data-finland="record"] .pin{
 top:auto;bottom:-25px;right:50%;transform:translateX(50%);
 width:auto;min-width:40px;height:19px;padding:0 7px;border-radius:9px;
 font:500 9px/1 Arial,sans-serif;white-space:nowrap;
}
#game[data-room="finland"] .station-marker[data-finland="gate"] .pin-label{max-width:200px;white-space:nowrap;font-size:12px}

/* Rana Council: badges show the actual evidence pages, not global stop IDs. */
#game[data-room="council"] .station-marker[data-council] .pin-label{opacity:1}
#game[data-room="council"] .station-marker[data-council] .pin{
 width:auto;min-width:38px;height:20px;padding:0 7px;border-radius:9px;
 font:500 10px/1 Arial,sans-serif;white-space:nowrap;transform:none;
}
#game[data-room="council"] .station-marker[data-council] .pin>span{transform:none}
#game[data-room="council"] .station-marker.npc-marker[data-council] .pin{
 top:auto;bottom:-24px;right:50%;transform:translateX(50%);height:18px;font-size:9px;
}
#game[data-room="council"] .station-marker[data-council="activity"] .pin-label{font-size:13px}
#game[data-room="council"] .station-marker[data-council].viewed .pin:after{right:-7px}

/* Arctic dialogue characters carry no duplicate slide galleries. */
#game[data-room="arctic"] .station-marker[data-arctic="guide"] .pin{display:none}

/* Observatory instruments: click the pictured object; its plaque carries actual slides. */
#game[data-room="observatory"] .station-marker[data-observatory] .pin-label{opacity:1}
#game[data-room="observatory"] .station-marker[data-observatory] .pin{
 width:auto;min-width:34px;height:18px;padding:0 7px;border-radius:7px;
 font:500 9px/1 Arial,sans-serif;white-space:nowrap;transform:none;
}
#game[data-room="observatory"] .station-marker[data-observatory] .pin>span{transform:none}
#game[data-room="observatory"] .npc-marker[data-observatory] .pin{
 top:auto;bottom:-23px;right:50%;transform:translateX(50%);
}
#game[data-room="observatory"] .station-marker.object-marker{
 min-width:0;min-height:0;padding:0;border:0;border-radius:12px;background:transparent;
 box-shadow:none;transform:translate(-50%,-50%);
}
#game[data-room="observatory"] .object-marker:after{display:none}
#game[data-room="observatory"] .object-marker .pin-label{
 position:absolute;top:auto;bottom:-25px;left:50%;transform:translateX(-50%);
 width:max-content;max-width:170px;margin:0;font-size:13px;font-weight:600;
 color:#f2dcad;background:#112b27ed;border:1px solid #a78b4d88;border-radius:4px;
}
#game[data-room="observatory"] .station-marker.object-marker[data-observatory] .pin{
 position:absolute;top:auto;bottom:-44px;left:50%;transform:translateX(-50%);margin:0;
}
#game[data-room="observatory"] .object-marker:hover,
#game[data-room="observatory"] .object-marker:focus-visible{
 outline:1px solid #e5c87788;outline-offset:3px;background:#dbc2760c;
}
#game[data-room="observatory"] .object-marker.current .pin-label{border-color:#e3c876;color:#fff1c9}
#game[data-room="observatory"] .object-marker.viewed .pin:after{right:-7px}
#game[data-room="observatory"] .station-marker[data-observatory="gate"] .pin-label{font-size:12px;white-space:nowrap}
