/* One sheet, one optional vertical scroll. No nested action/roster scroll strips. */
#dock.dock14{max-height:min(58dvh,calc(100dvh - 156px));min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain;padding:12px 14px 0;border-radius:18px 16px 17px 15px;scrollbar-gutter:auto}
#dock.dock14::-webkit-scrollbar{display:none;width:0;height:0}
#dock.dock14 .dock-scroll{max-height:none;overflow:visible;overscroll-behavior:auto;padding:0;min-width:0}
#dock.dock14 .dock-top{align-items:flex-start;gap:8px;margin:5px 0 8px;min-width:0}
#dock.dock14 .dock-top>div:first-child{flex:1;min-width:0}
#dock.dock14 .dock-top>div:last-child{flex:none;display:flex;align-items:center;gap:2px;white-space:nowrap}
#dock.dock14 h2{font-size:22px;line-height:1.12;margin:0;overflow-wrap:anywhere;min-width:0}
#dock.dock14 .unit-name{font:inherit;line-height:inherit;min-height:0;display:block;width:100%;white-space:normal;overflow-wrap:anywhere}
#dock.dock14 .identity-tag,#dock.dock14 .tile-tag14{display:inline-block;font:9px/1.5 system-ui;letter-spacing:.05em;color:#7e836b;opacity:.8;margin:3px 0 0}
#dock.dock14 .smallhelp{width:28px;height:28px;min-height:28px;flex:none}
#dock.dock14 .linkbutton{min-height:28px;padding:4px 6px;text-decoration:none;font-size:15px}
#dock.dock14 .context{font-size:12px;line-height:1.45;margin:4px 0 9px;overflow-wrap:anywhere}
#dock.dock14 .actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;overflow:visible;flex-wrap:wrap;padding:0;margin:0;max-height:none}
#dock.dock14 .actions>button{width:auto;min-width:0;min-height:44px;margin:0;padding:9px 6px;font-size:12px;line-height:1.25;white-space:normal;overflow-wrap:anywhere;flex:initial}
#dock.dock14 .city-access{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 7px;padding:0;min-width:0}
#dock.dock14 .city-access button{flex:1 1 110px;min-width:0;max-width:100%;min-height:34px;font-size:12px;line-height:1.25;padding:7px 10px;border:0;border-bottom:1px solid #d5d3bd;border-radius:0;background:transparent;text-align:left;white-space:normal;overflow-wrap:anywhere;color:#52694f}
#dock.dock14 .city-access button:first-child{font-weight:650}
#dock.dock14 .city-access button.primary{border:1px solid #2c4c3b;border-radius:8px}
#dock.dock14 .turn-controls{position:sticky;left:auto;right:auto;bottom:0;display:flex;height:auto;min-height:58px;margin:9px 0 0;padding:7px 0 9px;gap:12px;border-top:1px solid #dedcca;background:#f8f5ea;z-index:2}
#dock.dock14 .skip-fixed{height:auto;min-height:44px;max-width:160px;min-width:0;flex:0 0 min(46%,160px);font-size:12px;padding:9px 11px;white-space:normal;line-height:1.25}
#dock.dock14 .pending-link{flex:1;max-width:none;min-width:0;font-size:10px;line-height:1.4;min-height:36px;padding:5px 0;white-space:normal;overflow-wrap:anywhere}
#dock.dock14 .territory-label{display:block;margin-top:7px;min-height:25px!important;font:11px/1.4 system-ui!important;opacity:.8;max-width:100%;white-space:normal;overflow-wrap:anywhere}
#dock.dock14 .unit-access14{display:flex;margin:7px 0 0}
#dock.dock14 .roster-open14{border:1px solid #c8ceb7;border-radius:8px;background:#ecefdf;padding:7px 11px;min-height:34px;font-size:12px;line-height:1.3;text-align:left;max-width:100%;white-space:normal}
#dock.dock14 .crew-line{margin:7px 0 0;gap:9px;flex-wrap:wrap}
#dock.dock14 .crew-line button{min-height:34px;padding:6px 9px;font-size:12px}
#dock.dock14 .crew-cubes i{width:11px;height:11px}
#dock.dock14 .monastery-access button{min-height:32px;border:0;background:transparent;padding:5px 0;font-size:12px;text-align:left}
#dock.dock14 .terrain-tray{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:5px;padding:0;margin:5px 0;max-width:100%}
#dock.dock14 .terrain-tray button{min-width:0;min-height:49px;padding:5px 3px;font-size:10px;line-height:1.15;white-space:normal}
#dock.dock14 .terrain-tray button i{height:18px;width:21px;margin-bottom:2px}
#dock.dock14 .terrain-tray button small{font-size:9px}
#dock.dock14 .shopgrid{grid-template-columns:repeat(4,minmax(0,1fr))}
#dock.dock14 .shopgrid button{min-width:0;white-space:normal;overflow-wrap:anywhere;padding:7px 3px;line-height:1.2}
#dock.dock14 .choicegrid{grid-template-columns:repeat(3,minmax(0,1fr))}
#dock.dock14 .choicegrid button{min-width:0}
#dock.dock14.no-fixed-controls{padding-bottom:12px}
#dock.dock14.folded{padding:9px 14px 0}
#dock.dock14.folded .dock-scroll{max-height:none;overflow:visible}
#dock.dock14.folded .unit-access14,#dock.dock14.folded .crew-line,#dock.dock14.folded .territory-label,#dock.dock14.folded .monastery-access,#dock.dock14.folded .terrain-tray{display:none}
#dock.dock14.folded .dock-top{margin:0 0 3px}
#dock.dock14.folded .turn-controls{margin-top:5px;min-height:54px}
.units-roster14{display:grid;gap:8px;margin:12px 0}
.unit-row14{display:flex;width:100%;align-items:center;gap:11px;padding:11px;border:1px solid #ccd2bc;border-radius:11px;background:#edefdf;text-align:left;min-width:0;min-height:62px;color:#2e4738}
.unit-row14.active{border-color:#64815b;background:#dfe8cf}
.unit-row-mark14{font-size:22px;flex:0 0 24px;text-align:center}
.unit-row-main14{flex:1;min-width:0;display:grid;gap:3px;overflow-wrap:anywhere}
.unit-row-main14 b{font:17px/1.15 Georgia,serif;white-space:normal}
.unit-row-main14 small{font:11px/1.4 system-ui;color:#74816a;white-space:normal}
.unit-row-main14 .crew-cubes{padding-top:3px;flex-wrap:wrap}
.unit-row-tag14{flex:none;font:9px system-ui!important;color:#7e836b;align-self:flex-start;margin-top:3px}
.other-units14{border-top:1px solid #d5d7c5;margin-top:14px;padding-top:4px;display:grid;gap:8px}
.other-units14 h3{margin-bottom:3px!important}
@media(max-width:350px){#dock.dock14{left:6px;right:6px;padding-left:11px;padding-right:11px}#dock.dock14 h2{font-size:21px}#dock.dock14 .actions>button{font-size:11px;padding:8px 4px}#dock.dock14 .city-access button{font-size:11px}#dock.dock14 .skip-fixed{font-size:11px}}
@media(max-height:550px){#dock.dock14{max-height:calc(100dvh - 132px)}#dock.dock14 .dock-top{margin:3px 0 5px}#dock.dock14 h2{font-size:20px}}

/* Compact default tray; the city link already supplies the place context. */
#dock.dock14{max-height:min(48dvh,calc(100dvh - 156px));padding-top:9px}
#dock.dock14 .city-access{margin-bottom:3px}
#dock.dock14 .city-access button{min-height:28px;padding:4px 7px}
#dock.dock14 .dock-top{margin:3px 0 5px}
#dock.dock14 .context{margin:3px 0 7px}
#dock.dock14 .turn-controls{min-height:53px;margin-top:6px;padding:4px 0 6px}
#dock.dock14 .unit-access14{margin-top:6px}
#dock.dock14 .roster-open14{min-height:30px;padding:5px 10px}
