/* Independent nation cards, with treasury, tax forecast and strategic capacity. */
.command-view:not(.board-lab){--dock-width:224px;--map-left:104px}
#nation-dock{position:fixed;z-index:30;left:18px;top:calc(var(--header-bottom,58px) + 10px);bottom:var(--ribbon-space,150px);width:var(--dock-width);display:flex;flex-direction:column;min-height:0;padding:0;background:none;border:0;border-radius:0;box-shadow:none;pointer-events:none}
.nation-dock-heading{display:flex;align-items:center;justify-content:space-between;height:30px;min-height:30px;padding:0 2px 5px;color:#e9e6d6;flex-shrink:0}
.nation-dock-heading h2{font:600 10px/1 'DM Sans',sans-serif;letter-spacing:1.5px;text-transform:uppercase;text-shadow:0 1px 3px #142d36}
#nation-dock #nations-toggle{position:static;width:25px;height:25px;flex-basis:25px;border:1px solid #cbb98755;border-radius:4px;background:#203b44b3;pointer-events:auto}
#nation-dock #nations-toggle .disclosure-icon{width:14px;height:14px;transform:rotate(-90deg)}
#nation-dock #nations-toggle[aria-expanded=true] .disclosure-icon{transform:rotate(90deg)}
.command-view:not(.board-lab) #nation-dock #nations{position:static;display:flex;flex-direction:column;flex:0 1 auto;gap:6px;width:100%;min-height:0;max-width:none;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a7ab9980 transparent;filter:none;padding:2px 2px 4px;pointer-events:auto}
.command-view:not(.board-lab) #nation-dock #nations .nation{display:grid;grid-template-columns:minmax(0,1fr) auto;flex:0 0 auto;align-content:center;gap:6px 8px;min-height:0;padding:8px 9px;border:1px solid #beb39a;border-left:3px solid var(--nation);border-radius:5px;background:#faf5e9 linear-gradient(110deg,#faf5e9,#eee7d6);color:#253e43;box-shadow:0 2px 7px #10293129;transition:background-color .15s,border-color .15s;animation:none;text-align:left}
.command-view:not(.board-lab) #nation-dock #nations .nation:hover{background:#fffbee;border-color:#9b8552;border-left-color:var(--nation)}
.command-view:not(.board-lab) #nation-dock #nations .nation:focus-visible{outline:2px solid #946f25;outline-offset:-3px}
#nation-dock .nation-card-title{grid-column:1;gap:6px;min-width:0;margin:0}
#nation-dock .nation-card-title img{width:23px;height:16px;border-radius:1px}
#nation-dock .nation-card-title strong{font:600 19px/1 'Barlow Condensed',sans-serif;letter-spacing:.1px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#nation-dock .nation-active-dot{width:5px;height:5px;flex:0 0 5px;margin-left:0;background:#52715a;border-radius:50%;box-shadow:0 0 0 2px #52715a20}
#nation-dock .nation-active-dot span{display:none}
#nation-dock .nation-governor{grid-column:2;grid-row:1;align-self:center;display:flex;gap:4px;margin:0;max-width:66px;font-size:9px;line-height:1.3;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:#626d63}
#nation-dock .nation-governor i{width:5px;height:5px}
#nation-dock .nation-performance{grid-column:1/-1;display:grid;grid-template-columns:1fr 1fr;gap:10px;font-variant-numeric:tabular-nums}
#nation-dock .nation-performance>span{display:flex;align-items:baseline;gap:5px;white-space:nowrap}
#nation-dock .nation-performance>span:last-child{justify-content:flex-end}
#nation-dock .nation-performance small{font-size:9px;font-weight:400;color:#667164}
#nation-dock .nation-performance b{font-size:16px;font-weight:650;line-height:1.15;color:#31473e;letter-spacing:-.4px}
#nation-dock .nation-performance b>span{font-size:9px;font-weight:500;letter-spacing:0}
#nation-dock .nation-performance .is-positive b{color:#386645}
#nation-dock .nation-performance .is-negative b{color:#9c4632}
#nation-dock .nation-performance .is-neutral b{color:#6b7166}
#nation-dock .nation-assets{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;padding:5px 0 0;margin:0;border-top:1px solid #52645125;color:#536357}
#nation-dock .nation-asset{flex-direction:row;justify-content:center;gap:4px}
#nation-dock .nation-asset svg{width:14px;height:14px;stroke-width:1.7}
#nation-dock .nation-asset-count{font-size:10px;line-height:1;font-weight:600}
.command-view:not(.board-lab) #nation-dock #nations .nation.active{background:#fff8e5 linear-gradient(110deg,#fff8e5,#efe5c9);border-color:#b09a60;border-left-color:var(--nation);color:#253e43;box-shadow:inset 0 0 0 1px #b59b5830,0 2px 7px #10293129;animation:none}
#nation-dock .nation-thinking{border-color:#526b5533;border-top-color:#486c56;border-right-color:#486c56;width:10px;height:10px;flex-basis:10px;margin-left:0}
/* The narrow rail retains cash and the tax forecast; expanding reveals capacity. */
.command-view.nations-mini:not(.board-lab){--dock-width:68px;--map-left:104px}
.nations-mini .nation-dock-heading{justify-content:center}
.nations-mini .nation-dock-heading h2{display:none}
.command-view.nations-mini:not(.board-lab) #nation-dock #nations .nation{display:flex;flex-direction:column;justify-content:center;gap:5px;padding:7px 3px;border-left-width:2px;min-height:0;flex:0 0 auto}
.nations-mini #nation-dock .nation-card-title{flex-direction:column;gap:4px;position:relative;width:100%}
.nations-mini #nation-dock .nation-card-title strong{font-size:14px;max-width:100%;line-height:1}
.nations-mini #nation-dock .nation-active-dot{position:absolute;right:1px;top:0}
.nations-mini #nation-dock .nation-governor,.nations-mini #nation-dock .nation-assets{display:none}
.nations-mini #nation-dock .nation-performance{display:flex;flex-direction:column;gap:2px}
.nations-mini #nation-dock .nation-performance>span,.nations-mini #nation-dock .nation-performance>span:last-child{justify-content:center;gap:3px}
.nations-mini #nation-dock .nation-performance small{display:none}
.nations-mini #nation-dock .nation-performance b{font-size:13px}
.nations-mini #nation-dock .nation-fiscal b{font-size:11px}
.nations-mini #nation-dock .nation-fiscal:before{content:'↳';font-size:10px;color:#667164}
.nations-mini #nation-dock .nation-thinking{position:absolute;right:0;top:0;width:9px;height:9px;flex-basis:9px}
/* Floating controls and camera focus share the measured edge of the cards. */
.command-view:not(.board-lab) .map-live{top:calc(var(--header-bottom,58px) + 14px);left:var(--map-left)}
.command-view:not(.board-lab) #open-inspector{top:calc(var(--header-bottom,58px) + 14px);right:18px}
.command-view:not(.board-lab) #sidebar{top:calc(var(--header-bottom,58px) + 14px);right:18px;max-height:calc(100dvh - var(--header-bottom,58px) - var(--ribbon-space,150px) - 24px)}
.command-view:not(.board-lab) .map-bottom{left:var(--map-left);bottom:calc(var(--ribbon-space,150px) + 40px)}
#turn-arrival{left:calc(var(--map-left) + (100vw - var(--map-left))/2);top:calc(var(--header-bottom,58px) + 25px)}
#table-feed{left:var(--map-left,18px);max-width:calc(100vw - var(--map-left,18px) - 130px)}
.command-view.map-expanded #nation-dock{display:none}
.command-view.map-expanded #table-feed{left:18px;max-width:calc(100vw - 140px)}
@media(max-width:760px){
 .command-view:not(.board-lab){--map-left:92px}
 #nation-dock{left:10px;top:calc(var(--header-bottom,54px) + 8px);bottom:calc(var(--ribbon-space,150px) + 40px);width:min(224px,calc(100vw - 70px))}
 .command-view.nations-mini:not(.board-lab){--map-left:92px}
 .nations-mini #nation-dock{width:68px}
 #nation-dock #nations-toggle{width:30px;height:30px;flex-basis:30px}
 .nation-dock-heading{height:36px;min-height:36px}
 .command-view:not(.board-lab) #open-inspector{right:10px;max-width:140px;top:calc(var(--header-bottom,54px) + 10px)}
 .command-view:not(.board-lab) #sidebar{left:92px;right:10px;top:auto;bottom:calc(var(--ribbon-space,150px) + 40px);max-height:calc(100dvh - var(--header-bottom,54px) - var(--ribbon-space,150px) - 95px)}
 .command-view:not(.board-lab) .map-live{display:none}
 #turn-arrival{gap:8px;padding:8px 12px;max-width:calc(100vw - 110px)}
 #turn-arrival strong{font-size:23px}#turn-arrival span{font-size:11px}
 #table-feed{left:10px;max-width:calc(100vw - 112px)}
 #table-feed.is-open{max-width:calc(100vw - 20px)}
}
@media(max-height:760px) and (min-width:761px){
 .command-view:not(.board-lab) #nation-dock #nations .nation{padding-top:5px;padding-bottom:5px;gap:3px 8px}
 #nation-dock .nation-assets{padding-top:4px}
}
@media(prefers-reduced-motion:reduce){#nation-dock .nation,#nation-dock .disclosure-icon{transition:none}}
